• openharmony容器组件之SideBarContainer


    SideBarContainer:提供侧边栏可以显示和隐藏的侧边栏容器,通过子组件定义侧边栏和内容区,第一个子组件表示侧边栏,第二个子组件表示内容区

    SideBarContainer( type?: SideBarContainerType )
    type:设置侧边栏的显示类型(默认SideBarContainerType.Embed)
        SideBarContainerType枚举说明
        Embed:侧边栏嵌入到组件内,侧边栏和内容区并列显示
        Overlay:侧边栏浮在内容区上面
        
    属性:
    showSideBar:设置是否显示侧边栏
    controlButton:设置侧边栏控制按钮的属性
        left:设置侧边栏控制按钮距离容器左界限的间距(默认16)
        top:设置侧边栏控制按钮距离容器上界限的间距(默认48)
        width:设置侧边栏控制按钮的宽度(默认32)
        height:设置侧边栏控制按钮的高度(默认32)
        icons:设置侧边栏控制按钮的图标
        {
            shown: string | PixelMap | Resource ,//设置侧边栏显示时控制按钮的图标
            hidden: string | PixelMap | Resource ,//设置侧边栏隐藏时控制按钮的图标
            switching?: string | PixelMap | Resource//设置侧边栏显示和隐藏状态切换时控制按钮的图标
        }
    showControlButton:设置是否显示控制按钮
    sideBarWidth:设置侧边栏的宽度
    minSideBarWidth:设置侧边栏最小宽度
    maxSideBarWidth:设置侧边栏最大宽度
    autoHide:设置当侧边栏拖拽到小于最小宽度后,是否自动隐藏(api9)

    事件:
    onChange(callback: (value: boolen) => void)    当侧边栏的状态在显示和隐藏之间切换时触发回调,value的true表示显示,false表示隐藏

    案例效果:

     代码:

    1. @Entry
    2. @Component
    3. struct SideBarContainerPage {
    4. //未选择图片
    5. normalIcon: Resource = $r("app.media.icon4")
    6. //选中图片
    7. selectedIcon: Resource = $r("app.media.icon3")
    8. @State arr: number[] = [1, 2, 3]
    9. @State current: number = 1
    10. build() {
    11. SideBarContainer(SideBarContainerType.Embed) {
    12. Column() {
    13. ForEach(this.arr, (item, index) => {
    14. Column({ space: 5 }) {
    15. Image(this.current === item ? this.selectedIcon : this.normalIcon).width(64).height(64)
    16. Text("index0" + item)
    17. .fontSize(25)
    18. .fontColor(this.current === item ? '#0A59F7' : '#999')
    19. .fontFamily('source-sans-pro,cursive,sans-serif')
    20. }.onClick(() => {
    21. this.current = item
    22. })
    23. }, item => item)
    24. }.width('100%')
    25. .justifyContent(FlexAlign.SpaceEvenly)
    26. .backgroundColor('#19000000')
    27. RowSplit() {
    28. Column() {
    29. Text('Split page one').fontSize(30)
    30. }.justifyContent(FlexAlign.Center)
    31. }.width('100%')
    32. }
    33. .sideBarWidth(240)
    34. .minSideBarWidth(210)
    35. .maxSideBarWidth(260)
    36. .onChange((value: boolean) => {
    37. console.info('status:' + value)
    38. })
    39. }
    40. }

  • 相关阅读:
    SpringBoot 常用注解的原理和使用
    实践 缓存
    基于双向长短期记忆 BiLSTM 实现股票单变量时间序列预测(PyTorch版)
    uniapp使用tki-qrcode生成二维码
    青骨申报|CSC管理信息平台使用指南
    探索 Electron Egg:构建跨平台桌面应用的理想选择
    DVBS 卫星波段 设置
    【Python使用】python高级进阶知识md总结第3篇:静态Web服务器-返回指定页面数据,静态Web服务器-多任务版【附代码文档】
    玩转软件|简单分析好用的图文转视频工具——一帧秒创
    Oracle数据库:创建、修改、删除、使用同义词synonym和索引index
  • 原文地址:https://blog.csdn.net/lplj717/article/details/126271423