У меня есть этот 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
.
У кого-нибудь есть идея, как я могу изменить цвета и другие вещи во время выполнения?