效果展示:
Hml
{{ $item.indexTxt }}
{{ $item.title }}{{ $item.desc }}
{{ $item.indexTxt }}
{{ $item.title }}{{ $item.desc }}
Css
.container {
flex-direction: column;
align-items: center;
background-color: #5e7c85;
padding-top: 52px;
}
.topList_corner_round_bg {
width: 100%;
height: 240px;
border: 1px solid #000000;
text-align: center;
margin-left: 10px;
margin-right: 10px;
border-radius: 8px;
divider-color: #000000;
divider-height: 1px;
}
.middleList_corner_round_bg {
width: 100%;
height: 160px;
border: 1px solid #000000;
text-align: center;
margin-top: 10px;
margin-left: 10px;
margin-right: 10px;
border-radius: 8px;
divider-color: #000000;
divider-height: 1px;
}
.bottomList_corner_round_bg {
width: 100%;
height: 80px;
border: 1px solid #000000;
text-align: center;
margin-top: 10px;
margin-left: 10px;
margin-right: 10px;
border-radius: 8px;
divider-color: #000000;
divider-height: 1px;
}
/**
選中背景
*/
.list_corner_round_top {
width: 100%;
height: 80px;
border: 1px solid #000000;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
background: linear-gradient(270deg, #BFEEFF, #40B9FF);
}
.list_corner_round_mid {
width: 100%;
height: 80px;
border: 1px solid #000000;
background: linear-gradient(270deg, #BFEEFF, #40B9FF);
}
.list_corner_round_bottom {
width: 100%;
height: 78px;
border: 1px solid #000000;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
background: linear-gradient(270deg, #BFEEFF, #40B9FF);
}
.list_corner_round {
width: 100%;
height: 78px;
border: 1px solid #000000;
border-radius: 7px;
background: linear-gradient(270deg, #BFEEFF, #40B9FF);
}
.todo_item_top {
width: 100%;
height: 80px;
border: 1px solid #000000;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
background: linear-gradient(0deg, #FFFFFF, #FFFFFF);
}
.todo_item_mid {
width: 100%;
height: 80px;
border: 1px solid #000000;
background: linear-gradient(0deg, #FFFFFF, #FFFFFF);
}
.todo_item_bottom {
width: 100%;
height: 78px;
border: 1px solid #000000;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
background: linear-gradient(0deg, #FFFFFF, #FFFFFF);
}
.todo_item_round {
width: 100%;
height: 78px;
border: 1px solid #000000;
border-radius: 7px;
background: linear-gradient(0deg, #FFFFFF, #FFFFFF);
}
.item_title {
font-size: 22px;
text-align: left;
margin-start: 10px;
font-weight: 600;
}
.item_desc {
font-size: 16px;
margin-top: 10px;
color: #77787b;
font-weight: 400;
}
.div_icon {
width: 50px;
height: 100%;
align-items: center;
justify-content: center;
margin-start: 10px;
}
.item_icon {
height: 50px;
width: 100%;
align-items: center;
border-radius: 35px;
background-color: orange;
}
.txt_title {
font-size: 22px;
font-weight: 600;
}
.div_right {
flex-direction: column;
justify-content: center;
}
.div_arrow {
height: 100%;
width: 100%;
margin-end: 10px;
justify-content: center;
align-items: center;
}
.item_arrow {
margin-start: 316;
height: 14px;
width: 14px;
}
Js
import prompt from '@system.prompt';
var timeoutID;
const DURATION = 600;
export default {
data: {
topList: [{
title: 'title3_1',
desc: 'description3_1',
cls: 'todo_item_top',
iconColor: '#99FF0000',
txtColor: 'white',
indexTxt: 'R'
}, {
title: 'title3_2',
desc: 'description3_2',
cls: 'todo_item_mid',
iconColor: '#99FF7D00',
txtColor: 'white',
indexTxt: 'T'
}, {
title: 'title3_3',
desc: 'description3_3',
cls: 'todo_item_bottom',
iconColor: '#99FF00FF',
txtColor: 'white',
indexTxt: 'Y'
}
],
middleList: [{
title: 'title2_1',
desc: 'description2_1',
cls: 'todo_item_top',
iconColor: '#9900FF00',
txtColor: 'white',
indexTxt: 'U'
}, {
title: 'title2_2',
desc: 'description2_2',
cls: 'todo_item_bottom',
iconColor: '#9900FFFF',
txtColor: 'white',
indexTxt: 'I'
}
],
bottomList: [{
title: 'title1_1',
desc: 'description1_1',
cls: 'todo_item_round',
iconColor: '#990000FF',
txtColor: 'white',
indexTxt: 'O'
}
]
},
onTopListItemClick($idx) {
console.info("id = " + $idx);
let index = $idx;
let size = this.topList.length;
if (index == -1) {
for (let i = 0; i < size; i++) {
if (i == 0) {
this.topList[i].cls = "todo_item_top"
} else if (i == size - 1) {
this.topList[i].cls = "todo_item_bottom"
} else {
this.topList[i].cls = "todo_item_mid"
}
}
return;
}
this.onMiddleListItemClick(-1);
this.onBottomListItemClick(-1);
prompt.showToast({
message: this.topList[index].title
});
for (let i = 0; i < size; i++) {
if (index == i) {
if (i == 0) {
this.topList[i].cls = "list_corner_round_top"
} else if (i == size - 1) {
this.topList[i].cls = "list_corner_round_bottom"
} else {
this.topList[i].cls = "list_corner_round_mid"
}
clearTimeout(timeoutID);
timeoutID = setTimeout(this.clearTopItemBg, DURATION);
} else {
if (i == 0) {
this.topList[i].cls = "todo_item_top"
} else if (i == size - 1) {
this.topList[i].cls = "todo_item_bottom"
} else {
this.topList[i].cls = "todo_item_mid"
}
}
}
},
onMiddleListItemClick($idx) {
console.info("id = " + $idx);
let index = $idx;
if (index == -1) {
for (let i = 0; i < 2; i++) {
if (i == 0) {
this.middleList[i].cls = "todo_item_top"
} else {
this.middleList[i].cls = "todo_item_bottom"
}
}
return;
}
this.onTopListItemClick(-1);
this.onBottomListItemClick(-1)
prompt.showToast({
message: this.middleList[index].title
});
for (let i = 0; i < 2; i++) {
if (index == i) {
if (i == 0) {
this.middleList[i].cls = "list_corner_round_top"
} else {
this.middleList[i].cls = "list_corner_round_bottom"
}
clearTimeout(timeoutID);
timeoutID = setTimeout(this.clearMiddleItemBg, DURATION);
} else {
if (i == 0) {
this.middleList[i].cls = "todo_item_top"
} else {
this.middleList[i].cls = "todo_item_bottom"
}
}
}
},
onBottomListItemClick($idx) {
console.info("id = " + $idx);
let index = $idx;
if (index == -1) {
this.bottomList[0].cls = "todo_item_round"
return;
}
this.onTopListItemClick(-1);
this.onMiddleListItemClick(-1);
prompt.showToast({
message: this.bottomList[index].title
});
for (let i = 0; i < 2; i++) {
this.bottomList[0].cls = "list_corner_round"
clearTimeout(timeoutID);
timeoutID = setTimeout(this.clearBottomItemBg, DURATION);
}
},
clearTopItemBg() {
this.onTopListItemClick(-1);
},
clearMiddleItemBg() {
this.onMiddleListItemClick(-1);
},
clearBottomItemBg() {
this.onBottomListItemClick(-1);
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2636瀏覽量
66423 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1978瀏覽量
30269
發(fā)布評論請先 登錄
相關(guān)推薦
HarmonyOS開發(fā)案例:【使用List組件實(shí)現(xiàn)設(shè)置項(xiàng)】
使用List組件、Toggle組件以及Router接口,實(shí)現(xiàn)一個(gè)簡單的設(shè)置頁,點(diǎn)擊將跳轉(zhuǎn)到對應(yīng)的詳細(xì)設(shè)置頁面。
HarmonyOS開發(fā)案例:【使用List組件實(shí)現(xiàn)商品列表】
OpenHarmony ArkTS提供了豐富的接口和組件,開發(fā)者可以根據(jù)實(shí)際場景和開發(fā)需求,選用不同的組件和接口。
HarmonyOS應(yīng)用開發(fā)-UI設(shè)計(jì)開發(fā)與預(yù)覽
`. 介紹通過智能表待辦應(yīng)用開發(fā),讓開發(fā)者了解智能表HarmonyOS應(yīng)用開發(fā)的全流程,實(shí)現(xiàn)從工程創(chuàng)建到界面預(yù)覽全過程。使用HUAWEIDe
發(fā)表于 09-23 17:51
【HarmonyOS】圖片圓角功能
前輩的神器),只能靠自己手x代碼,廢話不多說,來看下鴻蒙系統(tǒng)里如何實(shí)現(xiàn)基本的圖片圓角功能吧。如今大部分美術(shù)在設(shè)計(jì)樣式的時(shí)候,都會(huì)給圖片帶上圓角,在鴻蒙開發(fā)過程中,一定會(huì)遇到要對圖片進(jìn)行
發(fā)表于 10-19 13:12
鴻蒙系統(tǒng)應(yīng)用開發(fā)之JS實(shí)現(xiàn)一個(gè)簡單的List
原文鏈接:https://harmonyos.51cto.com/posts/1715在之前的文章鴻蒙應(yīng)用開發(fā)之怎么更好的遠(yuǎn)程連接手表模擬器做調(diào)試?yán)镂疫\(yùn)行了一個(gè)穿戴設(shè)備的應(yīng)用,利用JS UI實(shí)現(xiàn)了一
發(fā)表于 11-13 10:32
HarmonyOS 應(yīng)用開發(fā)在線體驗(yàn)-to do list
一、技術(shù)相關(guān) 使用語言:Js體驗(yàn)內(nèi)容: to do list工具:在線開發(fā)https://playground.harmonyos.com/#/cn/onlineDemo?ha_source
發(fā)表于 08-14 15:48
HarmonyOSAPP開發(fā) --list-item-group練習(xí)
與開發(fā)過程部分代碼如下圖Hml CSS JS 相關(guān)問題討論 1,F(xiàn)or=”listgroup’ in list的作用,id里是不是list所存放的數(shù)值給了listgroup?還是list
發(fā)表于 08-19 11:26
HarmonyOS應(yīng)用開發(fā)-圓角list實(shí)現(xiàn)
效果展示:Hml<div class="container"> <list class="
發(fā)表于 04-09 11:00
CAD制圖中倒圓角的技巧
圓角命令是FILLET,圓角功能可使用與對象相切且指定半徑的圓弧來連接兩個(gè)對象??梢詣?chuàng)建兩種圓角,內(nèi)角點(diǎn)稱為內(nèi)圓角,外角點(diǎn)稱為外圓角。可以
發(fā)表于 10-19 15:03
?1.9w次閱讀
HarmonyOS開發(fā)者日 鴻蒙是否會(huì)有新進(jìn)展
據(jù)悉華為 HarmonyOS 應(yīng)用開發(fā)在線體驗(yàn)網(wǎng)站現(xiàn)已上線,開發(fā)者可以通過在線體驗(yàn)“To-Do List”Demo,但是需要注意的是“To-Do L
華為開發(fā)者HarmonyOS零基礎(chǔ)入門:四步實(shí)現(xiàn)HarmonyOS應(yīng)用
華為開發(fā)者HarmonyOS零基礎(chǔ)入門:四步實(shí)現(xiàn)HarmonyOS應(yīng)用,可以自定義主鍵實(shí)際應(yīng)用在開發(fā)者界面。
華為開發(fā)者HarmonyOS零基礎(chǔ)入門:Word圖片資源支持預(yù)覽效果
華為開發(fā)者HarmonyOS零基礎(chǔ)入門:Word圖片資源支持預(yù)覽效果,list主鍵函數(shù)可以做布局,呈現(xiàn)多個(gè)堆疊顯示效果。
華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-如何學(xué)習(xí)HarmonyOS應(yīng)用開發(fā)?
2021華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-如何學(xué)習(xí)HarmonyOS應(yīng)用開發(fā)?
實(shí)現(xiàn)PCB板邊倒圓角
看下圖: PCB外形倒圓角的點(diǎn),剛好就是我們凸包需求出的點(diǎn),接下來我們將玩轉(zhuǎn)凸包了,只要求出凸包,那么就可以實(shí)現(xiàn)PCB板邊倒圓角啦。
面向HarmonyOS開發(fā)者的HarmonyOS 3.0 Beta介紹
2021年10月,我們面向開發(fā)者發(fā)布了HarmonyOS 3.0 Developer Preview版,但開發(fā)的腳步永不停歇,現(xiàn)在我們又更新了API版本,配套發(fā)布了HarmonyOS
評論