[英]how to change Background for all activities but does not change it in ActionBar?
我需要这样的ActionBar:
但我希望在<style>
有这样的背景,可以自动将其用于每个活动:
我应该更改什么,因为我只能在<style>
使用背景,而不对每个活动都应用背景,并且t have any problems with Title of ActionBar ? When I comment
t have any problems with Title of ActionBar ? When I comment
在styles.xml中t have any problems with Title of ActionBar ? When I comment
@ color / bg_activity`时,我得到正确的Bar(图1)
我在AndroidManifest.xml中使用:
<uses-sdk
android:maxSdkVersion="22"
android:minSdkVersion="13"
android:targetSdkVersion="22" />
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AbnActionBarHolo" >
我的/res/values/styles.xml
:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Base application theme. -->
<!-- // AbnActionBarHolo // -->
<style name="Theme.AbnActionBarHolo" parent="@android:style/Theme.Holo">
<!-- Customize your theme here. -->
<!-- <item name="android:textColor">@color/foreground_text</item> -->
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:background">@color/bg_activity</item>
<!-- -->
<item name="android:actionBarStyle">@style/AbnActionBar</item>
<item name="android:actionBarTabTextStyle">@style/AbnActionBarTabText</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
</style>
<!-- ActionBar styles -->
<style name="AbnActionBar" parent="@android:style/Widget.Holo.ActionBar">
<!-- <item name="android:titleTextStyle">@style/MyActionBarTitleText</item> -->
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:background">@drawable/actionbar_background_2</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background_2</item>
</style>
<!-- ActionBar title text -->
<style name="AbnActionBarTitleText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:background">@drawable/actionbar_background_2</item>
<item name="android:shadowColor">@color/actionbar_shadow_text</item>
</style>
<!-- ActionBar tabs text styles -->
<style name="AbnActionBarTabText" parent="@android:style/Widget.Holo.ActionBar.TabText">
<item name="android:textColor">@color/actionbar_text</item>
</style>
</resources>
/res/values-v14/styles.xml
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<!-- ActionBar styles -->
<style name="AbnActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:titleTextStyle">@style/AbnActionBarTitleText</item>
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:background">@drawable/actionbar_background_2</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background_2</item>
</style>
</resources>
在/res/values/colors.xml
<resources>
<!-- // ABN HOLO // -->
<color name="actionbar_text">#FF000000</color>
<color name="actionbar_shadow_text">#FFd3d3d3</color>
<!-- -->
<color name="black_overlay">#66000000</color>
<color name="bg_activity">#ff000f2f</color>
<color name="foreground_title">#ffff8800</color>
<color name="foreground_version">#ffffa900</color>
<color name="foreground_text">#FFFFFFFF</color>
</resources>
无需为操作栏创建主题,而是在布局文件夹中创建您选择的布局xml文件(例如actionbar.xml),并在每个活动中使用它。
示例:我的actionbar.xml文件位于布局文件夹中
//----------ACTION BAR----------//
ActionBar actionbar = getActionBar();
TextView title;
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setCustomView(R.layout.actionbar);
title= (TextView)findViewById(R.id.title);
title.setText("General Categories");
这是创建自定义操作栏的最佳方法。
指定“活动”的背景时,应使用android:windowBackground
而不是android:background
background。
<!-- // AbnActionBarHolo // -->
<style name="Theme.AbnActionBarHolo" parent="@android:style/Theme.Holo">
<!-- Customize your theme here. -->
<!-- <item name="android:textColor">@color/foreground_text</item> -->
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:windowBackground">@color/bg_activity</item>
<!-- -->
<item name="android:actionBarStyle">@style/AbnActionBar</item>
<item name="android:actionBarTabTextStyle">@style/AbnActionBarTabText</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
</style>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.