Имам този style.xml в моето приложение за Android:
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
<style name="OrangeTheme" parent="@style/Theme.AppCompat">
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/OrangeTheme.OrangeActionBar</item>
<item name="android:windowActionBar">true</item>
</style>
<style name="OrangeTheme.OrangeActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/orange</item>
<item name="background">@color/orange</item>
<item name="android:backgroundStacked">@color/orange</item>
<item name="android:backgroundSplit">@color/orange</item>
<item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/black</item>
</style>
I have searched StackOverflow and Google, but nothing helped. I wasn't able to change the ActionBar
background color.
В моя MainActivity
използвам този код:
public void restoreActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}
Опитах се да не използвам AppCompat, но тогава името ми има много грешки. Той се простира ActionBarActivity
. Ако го променя на FragmentActivity
, не мога да използвам getSupportActionBar()
и без него моето getActionBar()
винаги е null
.
minSdkVersion 19
targetSdkVersion 21
Така че в момента не мога да го променя. Опитах да преименувам родителя на моята стилова тема. Опитах да използвам andrioud:background
и background
. Единственото нещо, което се променя, е когато използвам друг родител като Theme.App.Compat.Light
или Theme.AppCompat.Light.DarkActionBar
.
Някой има ли идея как мога да променя цветовете и други неща по време на изпълнение?