OpenHarmony开发者论坛

标题: SideBarContainer如何设置controlButton属性? [打印本页]

作者: zhanglin    时间: 2023-8-31 10:24
标题: SideBarContainer如何设置controlButton属性?
[md]【问题描述】

SideBarContainer,想设置按钮的位置,controlButton属性不会设置,官网也没有使用示例,能给个例子吗?

![image.png](data/attachment/forum/202308/31/102406yn2cwknizl5z8uwi.png "image.png")



【运行环境】

硬件:rk3568;  ROM:  3.2 Beta5 ;  API 9;
[/md]
作者: gelsang    时间: 2023-9-1 09:11
参考以下示例
  1. @Entry
  2. @Component
  3. struct SideBarContainerExample {
  4.   normalIcon : Resource = $r("app.media.icon")
  5.   selectedIcon: Resource = $r("app.media.icon")
  6.   @State arr: number[] = [1, 2, 3]
  7.   @State current: number = 1

  8.   build() {
  9.     SideBarContainer(SideBarContainerType.Embed)
  10.     {
  11.       Column() {
  12.         ForEach(this.arr, (item, index) => {
  13.           Column({ space: 5 }) {
  14.             Image(this.current === item ? this.selectedIcon : this.normalIcon).width(64).height(64)
  15.             Text("Index0" + item)
  16.               .fontSize(25)
  17.               .fontColor(this.current === item ? '#0A59F7' : '#999')
  18.               .fontFamily('source-sans-pro,cursive,sans-serif')
  19.           }
  20.           .onClick(() => {
  21.             this.current = item
  22.           })
  23.         }, item => item)
  24.       }.width('100%')
  25.       .justifyContent(FlexAlign.SpaceEvenly)
  26.       .backgroundColor('#19000000')


  27.       Column() {
  28.         Text('SideBarContainer content text1').fontSize(25)
  29.         Text('SideBarContainer content text2').fontSize(25)
  30.       }
  31.       .margin({ top: 50, left: 20, right: 30 })
  32.     }
  33.     .sideBarWidth(150)
  34.     .minSideBarWidth(50)
  35.     .controlButton({left:32,
  36.       top:32,
  37.       width:32,
  38.       height:32,
  39.       icons:{shown: $r("app.media.icon"),
  40.         hidden: $r("app.media.icon"),
  41.         switching: $r("app.media.icon")}})
  42.     .maxSideBarWidth(300)
  43.     .onChange((value: boolean) => {
  44.       console.info('status:' + value)
  45.     })
  46.   }
  47. }
复制代码







欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5