2014-10-27 2 views
4

Я использую новую панель инструментов в своем приложении для Android. Мне нужна такая же тема, как «Light.DarkActionBar». Так что мой контентный фон белый. Тексты и т. Д. Являются черными. И у моей панели ActionBar/Toolbar есть собственный фон, а также белые тексты и меню переполнения. Так я реализую это в моем styles.xml:Панель инструментов Android: Light.DarkActionBar

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/primaryColor</item> 
     <item name="colorPrimaryDark">@color/accentColor</item> 
     <item name="colorAccent">@color/accentColor</item> 
</style> 

панели инструментов Loks реализации, как, что:

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/primaryColor" 
     app:minHeight="?attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

Но это выглядит не как хотите. Текст панели инструментов и панель инструментов назад (getSupportActionBar().setDisplayHomeAsUpEnabled(true)) выглядят еще черными !!! Хочешь ли я поступать неправильно?

+0

Где вы устанавливаете AppCompatTheme как тему? Я не вижу, чтобы вы использовали его в своих макетах. И даже если вы установите его как тему приложения, вы перегружаете его стилями ThemeOverlay.AppCompat в своих макетах. Попробуйте использовать AppCompatTheme в вашем манифесте и только перегрузите приложение: popupTheme в вашем макете, чтобы получить всплывающие окна. –

+0

Я установил в своем AndroidManifest вот так: android: theme = "@ style/AppBaseTheme". Когда я использую только приложение: popupTheme, он ничего не меняет абсолют ... – StefMa

+3

Я проверил свой собственный проект: я использую это как стили, и он отлично работает: app: theme = "@ style/ThemeOverlay.AppCompat.Dark.ActionBar" и приложение: popupTheme = "@ стиль/ThemeOverlay.AppCompat.Dark". У меня также есть андроид: background = "? Attr/colorPrimary", установленный на виджете панели инструментов. Возможно, вам нужно заменить андроид: background = "@ color/primaryColor" с андроидом: background = "? Attr/colorPrimary", чтобы заставить его работать. –

ответ

0

Хорошо, я нашел ошибку.

xmls:app 

У namenspace был неправильный URI. Это было

xmlns:app="http://schemas.android.com/tools" 

по какой-то причине ... я изменил его вправо один:

xmls:app="http://schemas.android.com/apk/res-auto" 

Сейчас она работает, как я хочу.

Смежные вопросы