Android的更改标签文本颜色 [英] Android Changing Tab Text Color
本文介绍了Android的更改标签文本颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过我的style.xml这样设置的Android标签文本颜色:
<资源的xmlns:机器人=http://schemas.android.com/apk/res/android><! - 应用的主题。 - >
<样式名称=AppTheme父=AppBaseTheme>
<! - 所有自定义不特定于一个特定的API级别的可以去这里。 - >
<项目名称=机器人:actionBarStyle> @风格/ ActionBarStyle< /项目>
< /风格><样式名称=ActionBarStyle父=机器人:风格/ Widget.Holo.Light.ActionBar>
<项目名称=机器人:背景>#FFFFFF< /项目>
<项目名称=机器人:titleTextStyle> @风格/ myTheme.ActionBar.Text< /项目>
<项目名称=机器人:文字样式>大胆< /项目>
<项目名称=机器人:TEXTSIZE>&16SP LT; /项目>
< /风格><样式名称=myTheme.ActionBar.Text父=@安卓风格/ TextAppearance>
<项目名称=机器人:文字颜色>#000000< /项目>
< /风格>
和我的寻呼机查看这样:
< android.support.v4.view.ViewPager
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:ID =@ + ID /寻呼机
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:文字颜色=#000000/>
然而,与这些codeS,我只设法视图寻呼机选项卡背景色改为白色,但文字白色为好。我不知道为什么,我设置文本颜色为操作栏中的部分不工作。
先谢谢了。
修改
在哪里设置我的看法寻呼机部分:
公共类EventDetailMain扩展FragmentActivity {
上下文的背景下=这;ViewPager标签;
EventDtlTabPagerAdapter TabAdapter;
动作条动作条;@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.event_detail_main);
TabAdapter =新EventDtlTabPagerAdapter(getSupportFragmentManager());
片=(ViewPager)findViewById(R.id.pager);
Tab.setOnPageChangeListener(新ViewPager.SimpleOnPageChangeListener(){
@覆盖
公共无效使用onPageSelected(INT位置){
动作条= getActionBar();
actionBar.setSelectedNavigationItem(位置);
}
});
Tab.setAdapter(TabAdapter);
动作条= getActionBar();
//启用操作栏标签
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener =新ActionBar.TabListener(){
公共无效onTabReselected(android.app.ActionBar.Tab选项卡,
android.app.FragmentTransaction英尺){
} 公共无效onTabSelected(android.app.ActionBar.Tab选项卡,
android.app.FragmentTransaction英尺){
//在选项卡中选择节目推崇片段视图
Tab.setCurrentItem(tab.getPosition());
} 公共无效onTabUnselected(android.app.ActionBar.Tab选项卡,
android.app.FragmentTransaction英尺){
}
}; //添加新标签
actionBar.addTab(actionBar.newTab()的setText(事件详细信息)
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab()的setText(聊天室)
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab()的setText(落评论)
.setTabListener(tabListener));
}
解决方案
OK尝试一下文档(的 http://developer.android.com/guide/topics/ui/actionbar.html ):
<?XML版本=1.0编码=UTF-8&GT?;
<资源>
&所述;! - 应用于应用程序或活动的主题 - >
<样式名称=CustomActionBarTheme
父=@风格/ Theme.AppCompat.Light>
<项目名称=机器人:actionBarStyle> @风格/ MyActionBar< /项目>
<! - 重要的是你 - >
<项目名称=机器人:actionBarTabTextStyle> @风格/ TabTextStyle< /项目> <项目名称=机器人:actionMenuTextColor> @彩色/ actionbar_text< /项目> <! - 支持库的兼容性 - >
<项目名称=actionBarStyle> @风格/ MyActionBar< /项目>
<项目名称=actionBarTabTextStyle> @风格/ TabTextStyle< /项目>
<项目名称=actionMenuTextColor> @彩色/ actionbar_text< /项目>
< /风格><! - 普通样式的操作栏 - >
<样式名称=MyActionBar
父=@风格/ Widget.AppCompat.ActionBar>
<项目名称=机器人:titleTextStyle> @风格/ TitleTextStyle< /项目>
<项目名称=机器人:背景> @绘制/ actionbar_background< /项目>
<项目名称=机器人:backgroundStacked> @绘制/ actionbar_background< /项目>
<项目名称=机器人:backgroundSplit> @绘制/ actionbar_background< /项目> <! - 支持库的兼容性 - >
<项目名称=titleTextStyle> @风格/ TitleTextStyle< /项目>
<项目名称=背景> @绘制/ actionbar_background< /项目>
<项目名称=backgroundStacked> @绘制/ actionbar_background< /项目>
<项目名称=backgroundSplit> @绘制/ actionbar_background< /项目>
< /风格><! - 行动起来吧标题文字 - >
<样式名称=TitleTextStyle
父=@风格/ TextAppearance.AppCompat.Widget.ActionBar.Title>
<项目名称=机器人:文字颜色> @彩色/ actionbar_text< /项目>
< /风格><! - 行动起来吧标签文本重要的是你 - >
<样式名称=TabTextStyle
父=@风格/ Widget.AppCompat.ActionBar.TabText>
<项目名称=机器人:文字颜色> @彩色/ actionbar_text< /项目>
< /风格>
I am trying to set Android tab text color by doing this in my style.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#FFFFFF</item>
<item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">16sp</item>
</style>
<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance">
<item name="android:textColor">#000000</item>
</style>
And my View pager as such:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"/>
However, with these codes, I only managed to change the view pager tab background color to white but text as white color as well. I wonder why the part where I set text color for action bar does not work.
Thanks in advance.
EDIT
And the part where I set my view pager:
public class EventDetailMain extends FragmentActivity {
Context context = this;
ViewPager Tab;
EventDtlTabPagerAdapter TabAdapter;
ActionBar actionBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.event_detail_main);
TabAdapter = new EventDtlTabPagerAdapter(getSupportFragmentManager());
Tab = (ViewPager) findViewById(R.id.pager);
Tab.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
}
});
Tab.setAdapter(TabAdapter);
actionBar = getActionBar();
// Enable Tabs on Action Bar
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
public void onTabReselected(android.app.ActionBar.Tab tab,
android.app.FragmentTransaction ft) {
}
public void onTabSelected(android.app.ActionBar.Tab tab,
android.app.FragmentTransaction ft) {
// on tab selected show respected fragment view
Tab.setCurrentItem(tab.getPosition());
}
public void onTabUnselected(android.app.ActionBar.Tab tab,
android.app.FragmentTransaction ft) {
}
};
// Add New Tab
actionBar.addTab(actionBar.newTab().setText("Event Detail")
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Chat Room")
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Drop Review")
.setTabListener(tabListener));
}
解决方案
OK Try look at docs (http://developer.android.com/guide/topics/ui/actionbar.html):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!--IMPORTANT FOR YOU -->
<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
</style>
<!-- general styles for the action bar -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:titleTextStyle">@style/TitleTextStyle</item>
<item name="android:background">@drawable/actionbar_background</item>
<item name="android:backgroundStacked">@drawable/actionbar_background</item>
<item name="android:backgroundSplit">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/TitleTextStyle</item>
<item name="background">@drawable/actionbar_background</item>
<item name="backgroundStacked">@drawable/actionbar_background</item>
<item name="backgroundSplit">@drawable/actionbar_background</item>
</style>
<!-- action bar title text -->
<style name="TitleTextStyle"
parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_text</item>
</style>
<!-- action bar tab text IMPORTANT FOR YOU -->
<style name="TabTextStyle"
parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@color/actionbar_text</item>
</style>
这篇关于Android的更改标签文本颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文