美文网首页
打造多彩原生Menu

打造多彩原生Menu

作者: kksoCoud | 来源:发表于2017-03-07 10:11 被阅读46次
话不多说,先看效果,下图是基于Materail Design风格设计的。

我们知道要想实现如上效果,需要从Theme下手。但如果我们是继承自“Theme.AppCompat.Light.DarKActionbar”,通过设置属性“actionMenuTextColor”是可以改变actionbar上menu(即AA)字体颜色的,通过设置属性“android:textColor”是可以改变溢出menu(bb)字体颜色,但对于溢出menu的背景跟overflowbutton(即actionbar右边的三个点)的颜色是无法定制的(非黑即白)。

Google官方在推出Materail Design时已经不再提倡使用Actionbar,推荐使用Toolbar替代。因此,我在次处使用的是Toolbar,主题当然也就使用“Theme.AppCompat.Light.NoActionBar”,下面是我style文件代码设置
'''

<style name="mainStyle" parent="AppTheme">
    <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
    <!--溢出栏字体颜色-->
    <item name="android:textColor">#ff5555</item>
    <!--menu字体颜色-->
    <item name="actionMenuTextColor">#ff5555</item>
    <!--overflowbutton颜色-->
    <item name="android:textColorSecondary">#ff5555</item>
    <!--title颜色-->
    <item name="titleTextColor">#ff5555</item>
</style>

<!--溢出菜单样式 -->
<style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu.Overflow">
    <item name="overlapAnchor">false</item>
    <item name="android:dropDownWidth">wrap_content</item>
    <item name="android:popupBackground">@android:color/holo_green_light</item>
    <item name="android:dropDownHorizontalOffset">0dp</item>
</style>

''''''

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?android:actionBarSize"
    app:title="Title"
    android:background="?colorPrimary"
    app:theme="@style/toolbarStyle"/>

'''
短短几句style属性设置即可实现随心所欲的menu颜色设置。如果非得使用actionbar的话overflowbutton的颜色以及溢出menu的颜色、背景是无法定制的(非黑即白),仅与Theme明暗色调有关。

相关文章

网友评论

      本文标题:打造多彩原生Menu

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