HarmonyOS 鸿蒙Next 希望提供资讯类菜单选择 demo

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 希望提供资讯类菜单选择 demo

希望提供资讯类菜单选择 demo

2 回复

可以参考:

深色代码主题
复制
@Entry
@Component
struct Index {
  @State navList: string[] =
    ['首页', '手机', '电脑', '食品', '男装', '生鲜', '家具', '厨具', '男装', '生鲜', '家具', '厨具']
  @State titleIndex: number = 0
  @State pageIndex: number = 0
  @State alignListItem: ListItemAlign = ListItemAlign.Start
  build() {
    Flex({ direction: FlexDirection.Row }) {
      List({ space: 10 }) {
        ForEach(this.navList, (item: Resource, index?: number) => {
          ListItem() {
            Text(item)
              .fontSize(16)
              .fontColor(this.titleIndex == index ? Color.Red : Color.Black)
              .decoration({
                type: this.titleIndex == index ? TextDecorationType.Underline : TextDecorationType.None,
                color: Color.Red
              })
              .onClick(() => {
                if (index != undefined) {
                  this.titleIndex = index
                }
              })
          }
        }, (item: Resource) => JSON.stringify(item))
      }
      .alignListItem(this.alignListItem)
      .scrollBar(BarState.Off)
      .listDirection(Axis.Horizontal)
      .width("90%")
      Row() {
        Image($r('app.media.ic_split_line'))
          .width(1)
          .height(14)
        Image($r('app.media.ic_more'))
          .width(16)
          .height(16)
          .margin({
            left: 2,
            right: 2
          })
        Text('分类')
          .fontSize(16)
          .fontColor(Color.White)
          .fontWeight(this.titleIndex === undefined ? 700 : 400)
      }.onClick(() => {
        this.titleIndex = 0;
      })
    }
    .backgroundColor(Color.Pink)
    .padding(10)
    .height(50)
    .align(Alignment.Center)
  }
}

更多关于HarmonyOS 鸿蒙Next 希望提供资讯类菜单选择 demo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,创建一个资讯类菜单选择的Demo,你可以通过以下步骤实现基本功能:

  1. 创建项目:首先,使用DevEco Studio创建一个新的HarmonyOS项目,并选择适当的模板。

  2. 设计UI:在resources/base/layout目录下创建一个XML文件,用于设计资讯类菜单的UI布局。使用<ListContainer><DirectionalLayout>等组件来组织菜单项。

  3. 定义菜单项:在UI布局文件中,添加多个<ListItem>或自定义组件作为菜单项,每个菜单项可以包含图标、标题等。

  4. 处理点击事件:在对应的.ets.etsx文件中,为菜单项添加点击事件监听器。当用户点击某个菜单项时,可以跳转到相应的资讯详情页面或执行其他操作。

  5. 实现资讯详情页面:如果需要展示资讯详情,可以创建一个新的页面,并在其中加载并展示具体的资讯内容。

  6. 运行项目:完成上述步骤后,运行项目并测试资讯类菜单选择的功能是否正常。

示例代码和详细步骤可以参考HarmonyOS的官方文档和DevEco Studio的教程。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部