【鸿蒙实战开发】页面工具栏组件(toolbar)开发指导

toolbar为页面工具栏组件,用于展示针对当前界面的操作选项,可作为页面的一级导航。具体用法请参考toolbar。

创建toolbar组件

在pages/index目录下的hml文件中创建一个toolbar组件。

<!-- xxx.hml -->
<div class="container">
  <toolbar style="background-color: #F1F3F5;">
    <toolbar-item value="item1"></toolbar-item>
    <toolbar-item value="item2"></toolbar-item>
  </toolbar>
</div>
/* xxx.css */
.container {
  width: 100%;
  height: 100%; 
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #F1F3F5;
}
toolbar-item{
  font-size: 35px;
}

0000000000011111111.20240813092137.06233800417601410388250550702056.gif

添加子组件

toolbar组件仅支持toolbar-item为子组件,页面最多可以展示5个toolbar-item子组件,如果存在6个及以上toolbar-item,则保留前面4个,后续的将收纳到工具栏上的更多项中,通过点击更多项弹窗进行展示。并且更多项展示的组件样式采用系统默认样式,toolbar-item上设置的自定义样式不生效。

<!-- xxx.hml -->
<div class="container">
  <toolbar>
    <toolbar-item value="item1"></toolbar-item>    
    <toolbar-item value="item2"></toolbar-item>    
    <toolbar-item value="item3"></toolbar-item>    
    <toolbar-item value="item4"></toolbar-item>    
    <toolbar-item value="item5"></toolbar-item>    
    <toolbar-item value="item6"></toolbar-item>
  </toolbar>
</div>
/* xxx.css */
.container {
  width: 100%;
  height: 100%; 
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #F1F3F5;
}
toolbar-item{
  font-size: 35px;
}

在Android中,为了监听Toolbar菜单项的点击事件,你需要在Activity或Fragment中设置`OnMenuItemClickListener`。首先,确保你的Toolbar有一个Menu设置,并且你想监听的MenuItem已经添加到了Menu中。以下是步骤: 1. 首先,在布局文件中给Toolbar添加Menu资源引用: ```xml <androidx.appcompat.widget.Toolbar android:id="@+id/my_toolbar" ...> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_menu_item" android:title="菜单标题" android:icon="@drawable/ic_menu_item_icon" /> </menu> </androidx.appcompat.widget.Toolbar> ``` 2. 然后在对应的Activity或Fragment的`onCreateOptionsMenu`方法中,初始化Menu并设置点击监听器: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.my_menu, menu); // 加载菜单资源 Toolbar toolbar = findViewById(R.id.my_toolbar); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { int id = item.getItemId(); // 获取选中的MenuItem ID switch (id) { case R.id.action_menu_item: // 执行相应的操作,例如打开新Activity或者显示Toast doSomething(id); return true; default: return super.onMenuItemClick(item); } } private void doSomething(int itemId) { // 根据itemId执行对应的操作 if (itemId == R.id.action_menu_item) { Toast.makeText(MainActivity.this, "菜单项被点击了", Toast.LENGTH_SHORT).show(); } else { Log.d("TAG", "未知菜单项ID"); } } }); return true; } ``` 在这里,当用户点击菜单项时,`onMenuItemClick`会回调`doSomething`方法,你可以根据`itemId`执行不同的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值