改变ActionBar右侧三个小点的颜色_actionbar右边三个点-程序员宅基地

先介绍一下背景,使用的是Support v7 21+的兼容库来实现 material style

Theme

  <style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
        <!-- Actionbar color -->
        <item name="colorPrimary">@color/android_blue</item>
        <!--Status bar color-->
        <item name="colorPrimaryDark">@color/android_blue</item>
 
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:scrollbarThumbVertical">@drawable/scrollbar_handle_holo_light</item>
        <item name="android:windowAnimationStyle">@style/ActivityAnimationStyle</item>
        <item name="android:textColor">@color/black</item>
 
        <item name="colorAccent">@color/android_blue</item>
        <item name="android:textColorPrimary">@color/black</item>
    </style>

可是出现的效果是


 

三个黑色的小点和背景还有前面的文字格格不入,那么怎么解决这个问题尼?搜索了一些解决方案比如

<style name="MyCustomTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item>
    <item name="actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item>
</style>
 
<style name="MyCustomTheme.OverFlow">
    <item name="android:src">@drawable/my_overflow_image</item>
</style>

但是没有效果,突然想起来一个开源项目Sky31Radio,有遇到同样的场景,果然找到了解决方案,问题的关键在于使用了ToolBar来代替Actionbar,那么menu和overflow的样式应该在Toolbar上定义。

 

下面是解决方案:

actionBar右上角如果是文本的menu,如果想要自定义样式需要在Toolbar中自定义style

 app:theme="@style/AppTheme.ActionBar"

然后在style.xml中

<style name="AppTheme.ActionBar" parent="<span style="color:#ff0000;">@style/ThemeOverlay.AppCompat.Dark.ActionBar</span>">
        <item name="actionMenuTextColor">#fff</item>
        <item name="actionMenuTextAppearance">@style/AppTheme.actionMenuTextSize</item>
    </style>
 
    <style name="AppTheme.actionMenuTextSize" parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu">
        <item name="android:textSize">18sp</item>
        <item name="android:textStyle">normal</item>
    </style>

AppTheme.ActionBar的继承很重要,之前绕弯一直是没有找到正确的parent,使用darkActionBar,很显然,内部的图标和文字都是白色的,上面的灰色点问题就解决了,然后文本的大小可以使用actionMenuTextAppearance属性自定义,文本加粗改成normal,这样就搞定了预计的效果
 

 

 

 

 

相关资料:

 

How To Create A Material Style Action Bar On KitKat And Older Android Versions

Android应用开发中的风格和主题(style,themes)

 

其实是这个样式起作用的

<item name="colorControlNormal">@color/black</item>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/az44yao/article/details/112217765

智能推荐

LabelImg如何使用?快捷键操作-程序员宅基地

文章浏览阅读2.1w次,点赞20次,收藏76次。LabelImg是一个图形图像注释工具。它是用Python编写的,使用Qt作为图形界面。图片标注被保存为PASCAL VOC格式的XML文件,这是ImageNet使用的格式。此外,它还支持YOLO和CreateML格式。怎么安装LabelImg我就不说了,网上教程很多,而且不同的操作系统下,安装方式也存在差异,我是在ubuntu系统下安装使用的。我来说说怎么使用LabelImg对图像进行标注,并介绍一些常用的快捷键操作。首先,在终端输入命令,打开LabelImg工具cd labelImg/pyth_labelimg

基于栅格地图的无人机三维路径规划-matlab仿真_根据栅格地图规划无人机路径-程序员宅基地

文章浏览阅读1k次,点赞15次,收藏31次。RRT、A-astar、ACO基于三维栅格地图实现的三维路径规划算法。_根据栅格地图规划无人机路径

使用易康(eCognition Developer 8.9)对遥感影像进行面向对象分类_易康中面向对象分类教程-程序员宅基地

文章浏览阅读2.7w次,点赞41次,收藏380次。使用易康(eCognition Developer 8.9)对遥感影像进行面向对象分类1、导入加载影像数据(注意文件不能出现中文)2、影像分割1)在【Process Tree】对话框里写分割进程,首先右键插入【Append New】,名字修改为【分割】,然后按“ok”,再右键插入想【Process Tree】,选择多尺度分割算法【multiresolution segmentation】,并..._易康中面向对象分类教程

Compose跨平台第三弹:体验Compose for iOS_implementation(compose_compose 开发ios-程序员宅基地

文章浏览阅读756次,点赞15次,收藏14次。创建好KMM项目后我们需要添加Compose跨平台的相关配置。_compose 开发ios

TCP头部格式的了解-程序员宅基地

文章浏览阅读8k次,点赞3次,收藏22次。tcp头部格式如下图所示: 1.源端口号,16位,发送方的端口号。2.目标端口号,16位,发送方的目标端口号。3. 32为序列号,sequence number,保证网络传输数据的顺序性。4. 32位确认号,acknowledgment number,用来确认确实有收到相关封包,内容表示期望收到下一个报文的序列号,用来解决丢包的问题。_tcp头部格式

除了日常生活程序员要为自己未来规划一下_日常生活 程序员思路-程序员宅基地

文章浏览阅读1.5k次。人总需要勇敢生存,作为程序员,我们除了平时的日常生活,我们是否更需要为自己的人生作一些规划呢,这里说下我的一些看法。希望CSDN网友能谈下自己的观点。_日常生活 程序员思路

随便推点

Functional ALV系列 (04) - 自定义工具栏_怎么给alv报表添加导出为excel文件的按钮-程序员宅基地

文章浏览阅读524次。调用函数生成 ALV,显示的时候已经具备了默认的工具栏。在很多情况下,需要自定义工具栏,比如增加与用户交互的功能,也可能希望移除某个按钮。自定义工具栏有三个步骤:用 SE41从程序 SAPLKKBL 拷贝 GUI Status,将 STANDARD_FULLSCREEN, 拷贝到程序中, GUI Status 名为 ZStandard将 REUSE_ALV_GRID_DISPLAY 的 i_callback_pf_status_set 参数设置为某个子例程,在子例程中设置工具栏将 REUSE_A_怎么给alv报表添加导出为excel文件的按钮

STM32CubeMX驱动4x4键盘模块_4*4键盘模块介绍-程序员宅基地

文章浏览阅读1.3k次,点赞6次,收藏27次。4x4键盘模块是一种常用的电子组件,它由16个按钮或开关以矩阵方式排列而成,可以与微控制器或其他数字电路设备一起使用。该模块通常用于数据输入、操作界面等各种应用场合。如果你的单片机已经有足够的GPIO引脚可供使用,可以把4x4键盘模块中的16个按键分别连接到8个GPIO引脚上,并通过软件编程实现对按键的控制和读取。在这种情况下,不需要为4x4键盘模块提供额外的电源。需要注意的是,在将4x4键盘模块与单片机相连时,要根据模块中按键的排列顺序和引脚定义表格来正确地接线。_4*4键盘模块介绍

tableau 连接hadoop_tableau配置hadoop-程序员宅基地

文章浏览阅读589次。下载安装ODBC打开ODBC官网下载链接,选择相应操作系统对应的版本,本文下载的是mac版本的odbc。下载完成后,和一般软件一样点击安装即可。ps: 需要登录后,方可下载,所以需要注册一个cloudera的账号。配置连接属性..._tableau配置hadoop

小区网络利用树莓派对其他电脑实现远程开机(WOL)-程序员宅基地

文章浏览阅读8.2k次。使用情景: 想要实现远程开机但是在局域网,没有公网IP,另外路由器用DDNS+端口转发无法连接到内网(长城宽带的锅)。解决方案: 利用树莓派唤醒同一网络中关机的电脑,使用VNC远程树莓派,使用花生壳内网版提供内网穿透功能。

相关链接:-程序员宅基地

文章浏览阅读260次。导读:   Brett D. McLaughlin, Sr.([email protected]), 作家兼编辑, OReilly Media, Inc.   2007 年 12 月 06 日   Brett McLaughlin 回顾了一些 XML 基础知识,从文档结构到久存争议的属性/元素问题。重新学习如何优化 XML 并确保拥有最佳结构。 本文转自 http://www.i

element 自定义主题出现样式重复引入问题_element样式引入多次app.css chunk-element-程序员宅基地

文章浏览阅读3.2k次。当自定义主题色的时候按照命令改变主题色,会出现样式重复加载多次问题,看着很恶心人 解决方案去element-ui官网在线设计主题色,下载下来就行https://element.eleme.cn/#/zh-CN/theme/preview ..._element样式引入多次app.css chunk-element

推荐文章

热门文章

相关标签