我正在尝试以编程方式更改操作栏标签的颜色。我默认情况下在styles.xml中将它们设置为红色,这是我在viewpager中使用其他选项卡的方式,但是,在第一个选项卡上,我希望操作栏和导航选项卡都变得透明。我已经使用此代码
在操作栏中完成了此操作@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
// When the given tab is selected, switch to the corresponding page in
// the ViewPager.
int newActionBarColor/*, newActionBarTabColor*/;
if(tab.getPosition() == 0) {
newActionBarColor = Color.parseColor("#" + Integer.toHexString(getResources().getColor(R.color.actionBarTransparent)));
//newActionBarTabColor = Color.parseColor("#" + Integer.toHexString(getResources().getColor(R.color.actionBarTabsTransparent)));
} else {
newActionBarColor = Color.parseColor("#" + Integer.toHexString(getResources().getColor(R.color.actionBar)));
//newActionBarTabColor = Color.parseColor("#" + Integer.toHexString(getResources().getColor(R.color.actionBarTabs)));
}
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(newActionBarColor));
//getSupportActionBar().setStackedBackgroundDrawable(new ColorDrawable(newActionBarTabColor));
//getSupportActionBar().setSplitBackgroundDrawable(new ColorDrawable(newActionBarTabColor));
mViewPager.setCurrentItem(tab.getPosition());
}
但我无法使用标签,任何想法?你可以看到我上面尝试过的东西。
我需要彩色标签的标签上的活动:
我目前在选项卡上我希望操作栏和标签都透明:
答案 0 :(得分:0)
仅支持Android 3.0及更高版本时,您可以像这样定义操作栏的背景:
res/values/themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
</style>
</resources>
然后将您的主题应用于整个应用或个人活动:
<application android:theme="@style/CustomActionBarTheme" ... />
使用支持库时,与上面相同的主题必须如下所示:
res/values/themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>
</resources>
然后将您的主题应用于整个应用或个人活动:
<application android:theme="@style/CustomActionBarTheme" ... />
您可以从以下链接获取更多信息:Styling the Action Bar