• Android的Toolbar(含溢出菜单设置[弹出菜单的使用])的使用PopMenu的样式


    http://blog.csdn.net/yingtian648/article/details/52432438(转载)

    1.在Toolbar.xml中设置弹出菜单的风格(app:popupTheme =@style/OverflowMenuStyle)

      toolbar.xml

    <?xml version="1.0" encoding="utf-8"?>
    <!--
    android:background  设置ToolBar背景色
    android:titleTextColor 设置字体颜色
    app:navigationIcon 设置左边按钮图标
    app:popupTheme 设置弹出菜单的风格
    -->
    <android.support.v7.widget.Toolbar
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:id="@+id/toolbar"
         android:layout_width="match_parent"
         android:layout_height="?attr/actionBarSize"
         android:background="?attr/colorPrimary"
         app:navigationIcon="@drawable/back"
         android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
         app:popupTheme="@style/OverflowMenuStyle"
         >
    </android.support.v7.widget.Toolbar>
    View Code

    2.values/styles.xml下添加弹出菜单样式(需要先添加到appTheme中)

     styles.xml

    <resources>
    
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <!-- 加入toolbar溢出【弹出】菜单的风格 -->
            <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
        </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:popupBackground">@color/colorPrimaryDark</item>
            <!-- 弹出层垂直方向上的偏移,即在竖直方向上距离Toolbar的距离,值为负则会盖住Toolbar -->
            <item name="android:dropDownVerticalOffset">5dp</item>
            <!-- 弹出层水平方向上的偏移,即距离屏幕左边的距离,负值会导致右边出现空隙 -->
            <item name="android:dropDownHorizontalOffset">0dp</item>
            <!-- 设置弹出菜单文字颜色 -->
            <item name="android:textColor">@color/colorPrimary</item>
        </style>
    
    </resources>
    View Code

    3.在res下创建(Android resource directory ),类型选择为“menu ”,名字可以使用默认名字“menu”,在新建的menu目录下创建“Menu resource file”,命名为toolbar

      menu下toolbar.xml

    <?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/other"
        android:icon="@drawable/other"
        android:title="Other"
        app:showAsAction="always"
        >
        <!-- item包含menu表示该menu是item下的子菜单 -->
        <menu>
            <!-- 将group中的菜单项放于一个组里面 -->
            <group>
                <item android:id="@+id/toolbar_r_1"
                    android:title="吃饭"
                    android:icon="@drawable/eat"
                    app:showAsAction="ifRoom"
                    />
                <item android:id="@+id/toolbar_r_2"
                    android:title="睡觉"
                    android:icon="@drawable/sleep"
                    app:showAsAction="ifRoom"
                    />
                <item android:id="@+id/toolbar_r_3"
                    android:title="打豆豆"
                    android:icon="@drawable/dadoudou"
                    app:showAsAction="ifRoom"
                    />
            </group>
        </menu>
    </item>
    </menu>
    View Code

    4.mainactivty对toolbar操作同toolbar+drawlayout

      请看

    原创作品,转载请注明出处!
  • 相关阅读:
    《梦段代码》阅读笔记03
    用户场景
    冲刺!
    冲刺!
    周总结8
    冲刺!
    冲刺!
    PMS权限管理和鉴权过程
    PMS构造函数以及apk如何扫描
    PMS的学习之旅
  • 原文地址:https://www.cnblogs.com/yidijimao/p/6496903.html
Copyright © 2020-2023  润新知