Android

android Toolbar 设置一个右边按钮

2023-03-02  本文已影响0人  活着的H

要在Android的Toolbar中添加一个右侧按钮,可以使用以下步骤:

1.在布局文件中添加Toolbar

首先,在你的布局文件中添加Toolbar控件,并设置它的id和其他属性。

例如:

<androidx.appcompat.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:titleTextColor="@android:color/white"
    app:title="My Toolbar" />

2.设置Toolbar为Activity的ActionBar

在Activity中,在onCreate()方法中调用setSupportActionBar()方法,将Toolbar设置为Activity的ActionBar。

例如:

Toolbar myToolbar = findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);

kotlin:

// 找到Toolbar
val toolbar = findViewById<Toolbar>(R.id.toolbar)
setSupportActionBar(toolbar)

// 设置右侧菜单项
toolbar.inflateMenu(R.menu.menu_main)

3.添加右侧按钮

在Toolbar中添加右侧按钮需要使用Menu资源,因此你需要创建一个Menu资源文件,并在其中添加你想要的菜单项。

例如,在res/menu/toolbar_menu.xml文件中添加一个菜单项:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/menu_item"
        android:title="Menu Item"
        app:showAsAction="always"
        android:icon="@drawable/ic_menu"/>

</menu>

在这个菜单项中,我们设置了一个id为menu_item的菜单项,它包含一个标题和一个图标,还设置了showAsAction属性为always,这样这个菜单项就会始终显示在Toolbar中。

4.在Activity中实现菜单项点击事件

最后,在Activity中覆盖onOptionsItemSelected()方法,实现菜单项的点击事件。

例如:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.menu_item:
            // 点击了菜单项,执行对应的操作
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

kotlin

override fun onOptionsItemSelected(item: MenuItem): Boolean {
     return when (item.itemId) {
        R.id.menu_item -> {
            // 处理菜单项点击事件
            true
        }
        else -> super.onOptionsItemSelected(item)
    }
}

这个方法会在用户点击菜单项时被调用,并且会传递一个MenuItem对象作为参数。你可以根据这个菜单项的id来判断用户点击的是哪个菜单项,并执行相应的操作。

现在,你的Toolbar中就会添加一个右侧按钮了。当用户点击这个按钮时,onOptionsItemSelected()方法会被调用,你可以在这个方法中处理相应的逻辑。
待会试试看吧

上一篇下一篇

猜你喜欢

热点阅读