🚀一、Menu組件 Menu組件是一種常見的用戶界面(UI)控件,用于在移動(dòng)應(yīng)用程序中顯示可選項(xiàng)列表。它通常由一系列鏈接或按鈕組成,以幫助用戶導(dǎo)航和選擇所需的操作。Menu組件可以在水平或垂直方向上呈現(xiàn),可以是下拉或彈出式的,并可以在需要時(shí)動(dòng)態(tài)更新其內(nèi)容。通常,Menu組件可以在導(dǎo)航
Menu組件是一種常見的用戶界面(UI)控件,用于在移動(dòng)應(yīng)用程序中顯示可選項(xiàng)列表。它通常由一系列鏈接或按鈕組成,以幫助用戶導(dǎo)航和選擇所需的操作。Menu組件可以在水平或垂直方向上呈現(xiàn),可以是下拉或彈出式的,并可以在需要時(shí)動(dòng)態(tài)更新其內(nèi)容。通常,Menu組件可以在導(dǎo)航欄、側(cè)邊欄或上下文菜單中找到。一些Menu組件還支持圖標(biāo)和快捷鍵,以增強(qiáng)用戶交互性和可用性。
默認(rèn)樣式的菜單指的是操作系統(tǒng)默認(rèn)提供的菜單樣式,在不經(jīng)過樣式定義的情況下,菜單的外觀和行為取決于操作系統(tǒng)。例如,大多數(shù)操作系統(tǒng)提供了一個(gè)默認(rèn)的下拉菜單樣式,其中包含一個(gè)向下箭頭和一個(gè)下拉列表,當(dāng)用戶單擊時(shí),列表會(huì)向下滑動(dòng)。而操作系統(tǒng)的菜單通常包括一個(gè)固定的樣式。
@Entry
@Component
struct Index {
build() {
Row() {
Button('click for Menu')
.bindMenu([
{
value: 'Menu1',
action: () => {
console.info('handle Menu1 select')
}
}
])
}
.margin(20)
.height('100%')
}
}
雖然默認(rèn)樣式的菜單可以提供一些基本的菜單操作,但通常它們無法滿足大多數(shù)應(yīng)用程序或網(wǎng)站的需求,因此需要自定義樣式的菜單。
@Entry
@Component
struct Index {
@State select: boolean = true
private iconStr: ResourceStr = $r("app.media.app_icon")
private iconStr2: ResourceStr = $r("app.media.app_icon")
@Builder
SubMenu() {
Menu() {
MenuItem({ content: "復(fù)制", labelInfo: "Ctrl+C" })
MenuItem({ content: "粘貼", labelInfo: "Ctrl+V" })
}
}
@Builder
MyMenu(){
Menu() {
MenuItem({ startIcon: $r("app.media.icon"), content: "菜單選項(xiàng)" })
MenuItem({ startIcon: $r("app.media.icon"), content: "菜單選項(xiàng)" }).enabled(false)
MenuItem({
startIcon: this.iconStr,
content: "菜單選項(xiàng)",
endIcon: $r("app.media.app_icon"),
builder: this.SubMenu.bind(this),
})
MenuItemGroup({ header: '小標(biāo)題' }) {
MenuItem({ content: "菜單選項(xiàng)" })
.selectIcon(true)
.selected(this.select)
.onChange((selected) => {
console.info("menuItem select" + selected);
this.iconStr2 = $r("app.media.icon");
})
MenuItem({
startIcon: $r("app.media.app_icon"),
content: "菜單選項(xiàng)",
endIcon: $r("app.media.app_icon"),
builder: this.SubMenu.bind(this)
})
MenuItem({
startIcon: this.iconStr2,
content: "菜單選項(xiàng)",
endIcon: $r("app.media.app_icon")
})
}
}
build() {
Row() {
Button('click for Menu')
.bindMenu(this.MyMenu)
}
}
}
本人測(cè)試子菜單在模擬器和預(yù)覽都出不來
小編推薦閱讀
機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實(shí)現(xiàn)對(duì)象集合與DataTable的相互轉(zhuǎn)換
閱讀鴻蒙NEXT元服務(wù):論如何免費(fèi)快速上架作品
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動(dòng)態(tài)代理的對(duì)比分析
閱讀Win11筆記本“自動(dòng)管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)