博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求教关于ActionBar 样式问题
阅读量:4480 次
发布时间:2019-06-08

本文共 2900 字,大约阅读时间需要 9 分钟。

====================问题描述====================
有关 actionBar 自定义样式...
我希望自定义 ActionBar 中 Tab 标签页标题的字体样式,应该是在 style.xml 中添加
android:actionBarTabTextStyle 样式吧?但是实际却并没有效果.
PS1: style.xml 文件中的 title 栏的背景色(android:background) 和字体颜色(android:titleTextStyle) 有效果
PS2: style.xml 文件中修改 tab 标签页背景色的属性(android:backgroundStacked)也生效
PS3: 唯独(actionBarTabTextStyle)没效果
PS4: 我是  actionBar+viewPager+Fragment  实现多页面滑动效果
难道一定要自定义一个 Layout  然后在 通过   getActionBar()   去   setCustomView(View v) 么?可是 title 的背景色和字体有效果,就连  tab  的背景色都有效果,没道理就是   actionBarTabTextText   没效果啊?
一下是我的  style.xml 文件代码...     Fragment+viewPager+actionBar 的具体实现就不贴出来了..
    
    
        
            
        
@style/NoSpamActionBarStyle            
        
@color/back_color        
@color/tab_back_color        
@style/NoSpamTitleStyle        
@style/NoSpamTabText            
        
@color/title_color        
19sp        
    
@color/tab_text_color    
18sp            
以下是   actionBar  构造代码
/** *  * 安装电话黑名单标签导航 */public void setupPhoneBlackListTab(){Tab phoneBlackListTab = actionBar.newTab();phoneBlackListTab.setText("骚扰电话");phoneBlackListTab.setTabListener(new NoSpamTabListener());actionBar.addTab(phoneBlackListTab);}
以下是  color.xml
        
#99CC00    
#FFFFFF    
#FFFFFF    
#000000    
最后是实际效果图,tab 字体应该是黑色,可实际是  DarkActionBar  默认的白色
====================解决方案1====================
<style name="NoSpamActionBarTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/NoSpamActionBarStyle</item>
        <item name="android:titleTextStyle">@style/NoSpamTitleStyle</item>
        <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
        <item name="android:actionBarTabTextStyle">@style/NoSpamTabText</item>
    </style>
    <style name="NoSpamActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
        <item name="android:background">@color/back_color</item>
        <item name="android:backgroundStacked">@color/tab_back_color</item>
    </style>
改成这样就行了
====================解决方案2====================
引用 2 楼 jklwan 的回复:
<style name="NoSpamActionBarTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/NoSpamActionBarStyle</item>
        <item name="android:titleTextStyle">@style/NoSpamTitleStyle</item>
        <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
        <item name="android:actionBarTabTextStyle">@style/NoSpamTabText</item>
    </style>
    <style name="NoSpamActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
        <item name="android:background">@color/back_color</item>
        <item name="android:backgroundStacked">@color/tab_back_color</item>
    </style>
改成这样就行了
把这句<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>删了,自己测试的多写的东西

转载于:https://www.cnblogs.com/lengyanyue39/p/4010456.html

你可能感兴趣的文章
获取IOS bundle中的文件
查看>>
document
查看>>
定义DoubleArray并将其作为value写入SequenceFile
查看>>
Hadoop下大矩阵乘法Version2
查看>>
iPhone内存溢出——黑白苹果
查看>>
Struts2学习笔记(十二) 类型转换(Type Conversion)(下)
查看>>
tcpdump学习
查看>>
局域网内传输文件速度慢
查看>>
Linux的核心版本(摘抄)
查看>>
CASE表达式
查看>>
后缀自动机
查看>>
zkw线段树
查看>>
asp.net中导出Excel的方法
查看>>
[转]跟紧时代,让你的设计更加popular
查看>>
作业1226
查看>>
mainline.js主线
查看>>
fseek()
查看>>
Python学习笔记——PyQt控件中文字居中显示
查看>>
JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误
查看>>
Beta阶段敏捷冲刺前准备
查看>>