Я положил ActionBar в свое приложение и изменил цвет фона, как я покажу ниже. Как ни странно, цвет текста на ActionBar не изменится. (picture)Цвет фона фона ActionBar не меняется
Я посмотрел вокруг и нашел это: <item name="android:actionBarItemBackground">@null</item>
Но я предпочел бы не использовать его, потому что тогда мой minSdk должен быть установлен на 14, в то время как я его в 11 в настоящее время. Я попытался увеличить его до 14, чтобы увидеть, работает ли этот тег, но я снова не мог изменить цвет.
У кого-нибудь есть опыт? Большое спасибо заранее за вашу помощь.
styles.xml:
<style name="AppBaseTheme" parent="Theme.AppCompat">
</style>
<!-- Application theme. -->
<style name="MyAppTheme" parent="AppBaseTheme">
<item name="android:colorBackground">@color/background</item>
<item name="android:background">@color/background</item>
<item name="android:textColor">@color/myWhite</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@drawable/actionbar_background</item>
<item name="actionMenuTextColor">@color/myWhite</item>
<!--Support Library compatibility-->
<item name="background">@color/myBlack</item>
</style>
вытяжке/actionbar_background:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/myBlack" />
</shape>
меню/login.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom" />
<item android:id="@+id/action_settings"
android:title="@string/settings_label"
android:showAsAction="never" />
</menu>
И, наконец, внутри класса LoginActivity, то onCreateOptionsMenu метод:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.login, menu);
return super.onCreateOptionsMenu(menu);
}
Еще раз спасибо!
У меня была аналогичная проблема, только моя причина заключалась в том, что я установил стиль в теге темы и при попытке изменить фон программным образом у меня всегда была та же проблема, что и у вас. –