美文网首页Android笔记本
Toolbar添加menu菜单

Toolbar添加menu菜单

作者: 莫语莫雨 | 来源:发表于2018-12-24 09:50 被阅读3次
    toolbar菜单

    实现步骤

    1.在布局文件中添加toolbar

    <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar_main"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            android:elevation="2dp"
            app:popupTheme="@style/OverflowMenuStyle"
            app:title="首页" />
    

    2.在activity中重写方法

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
            menuInflater.inflate(R.menu.main_menu, menu)
            return super.onCreateOptionsMenu(menu)
        }
    

    3.编写menu菜单文件

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    
        <item
            android:id="@+id/change_user"
            android:title="切换账号"
            app:showAsAction="never" />
    </menu>
    

    4.重写点击事件方法

    override fun onOptionsItemSelected(item: MenuItem?): Boolean {
            when (item?.itemId) {
                R.id.change_user -> {
                    //切换账号
                    startActivity(Intent(this@MainActivity, LoginActivity::class.java))
                }
                else -> {
                }
            }
            return super.onOptionsItemSelected(item)
        }
    

    5.设置toolbar支持

    setSupportActionBar(toolbar_main)
    
    这样菜单就会在toolbar上显示出来了 toolbar菜单

    6.如果需要修改弹出的菜单样式,可以自定义style文件

    <!--溢出[弹出]菜单样式 parent相当于继承【可以不要parent】-->
        <style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.PopupMenu.Overflow">
            <!-- 是否覆盖锚点,默认为true,即盖住Toolbar -->
            <item name="overlapAnchor">false</item>
            <item name="android:dropDownWidth">wrap_content</item>
            <!--<item name="android:paddingRight">5dp</item>-->
            <!--<item name="android:layout_marginTop">5dp</item>-->
            <!-- 弹出层背景颜色 -->
            <!--<item name="android:popupBackground">@color/darkturquoise</item>-->
            <!-- 弹出层垂直方向上的偏移,即在竖直方向上距离Toolbar的距离,值为负则会盖住Toolbar -->
            <!--<item name="android:dropDownVerticalOffset">5dp</item>-->
            <!-- 弹出层水平方向上的偏移,即距离屏幕左边的距离,负值会导致右边出现空隙 -->
            <item name="android:dropDownHorizontalOffset">0dp</item>
            <!-- 设置弹出菜单文字颜色 -->
            <!--<item name="android:textColor">@color/white</item>-->
        </style>
    
    QQ交流群 微信公众号

    相关文章

      网友评论

        本文标题:Toolbar添加menu菜单

        本文链接:https://www.haomeiwen.com/subject/mdsakqtx.html