android 设置Menu字体颜色

前言

现在好多app的通用导航栏,用Toolbar来实现,既可以使用 Material Design 风格,又可以兼容不同的使用场景

环境

Android Studio  3.1.3
build_versions.min_sdk = 16
build_versions.target_sdk = 27
build_versions.build_tools = "27.0.3"

一.ToolBar 设置Menu方法


 <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/topbar_height">

    <TextView
        android:id="@+id/actionbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textColor="@color/color_333333"
        android:textSize="@dimen/text_17sp" />

</android.support.v7.widget.Toolbar> 

1 新建menu.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/action_recorder"
        android:title=“参与记录”  
</menu>

2.布局填充 :需要重写 onCreateOptionsMenu 方法

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.rebaterecorder, menu)
    return true
}

3.设置事件:找到资源id,设置选中的事件

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    if (item.itemId == R.id.action_recorder) {
        startActivity(JoinRecorderActivity::class.java)
    }
    return true
}

【注】 Toolbar 没有直接提对供menu设置方法,需要通过Theme来调整Menu样式
具体有两种方式:

方式一.

在清单文件中给包含Toolbar的Activity设置Theme

<activity android:name=".MineRebateActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
    />

方式二

直接设置Toolbar主题,theme

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:theme="@style/AppTheme.ActionBar"
    android:layout_height="@dimen/topbar_height”/>

主要是通过下面的配置起作用

<item name="android:background">@color/colorPrimary</item>
<item name="actionMenuTextColor”>#333333</item>  //调整改变颜色
<item name="actionMenuTextAppearance">@style/AppTheme.ActionBar.MenuTextStyle
</item>  

【注】如果您的BaseActivity 继承 AppCompatActivity这种兼容类,有可能会提示让设置CompatTheme 的主题类型,按照提示进行设计即可

这里写图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灯塔@kuaidao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值