2015-06-21 5 views
0

Я пробовал много вещей, чтобы изменить цвет текста, когда я нажимаю кнопку меню «Три точки», но он всегда возвращается к теме панели инструментов (андроид: тема), а не к андроиду: popupTheme , Я хочу, чтобы текст был черным, но он всегда выглядит белым.Изменение меню всплывающего меню Android

styles.xml

<!-- Base application theme. --> 
<style name="AppTheme" parent="AppTheme.Base"> 
    <!-- Customize your theme here. --> 
</style> 

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/primaryColor</item> 
    <item name="colorPrimaryDark">@color/primaryColorDark</item> 
    <item name="colorAccent">@color/accentColor</item> 
</style> 
<style name="MaterialWorkout_theme" parent="ThemeOverlay.AppCompat.Light"> 
    <item name="android:textColorPrimary">#FFFFFF</item> 
    <item name="android:textColorSecondary">#48FFFFFF</item> 
</style> 
<style name="Popup_theme" parent="ThemeOverlay.AppCompat.Light"> 
    <item name="android:textColorPrimary">#000000</item> 
    <item name="android:textColorSecondary">#38000000</item> 
</style> 

app_bar.xml

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@color/primaryColor" 
android:id="@+id/app_bar" 
android:theme="@style/MaterialWorkout_theme" 
android:popupTheme="@style/Popup_theme" 
> 

Вот как это выглядит: http://imgur.com/svRuuHK

ответ

1

Решено. изменил мой файл toolbar.xml к этому:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:background="@color/primaryColor" 
android:id="@+id/tool_bar" 
android:theme="@style/MaterialWorkout_theme" 
app:popupTheme="@style/Popup_theme"> 

уведомление реализация:

Xmlns: приложение = "http://schemas.android.com/apk/res-auto"

и

приложение: popupTheme = "@ стиль/Popup_theme"

эти две линии s решила мою проблему!

0

Вам нужно определить тему всплывающего меню в своем стиле, а не панель инструментов.

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/primaryColor</item> 
    <item name="colorPrimaryDark">@color/primaryColorDark</item> 
    <item name="colorAccent">@color/accentColor</item> 
    <item name="popupMenuStyle">@style/Popup_theme</item> 
</style> 
+0

Спасибо! Но это все еще не сработало. Я также пытался реализовать разные стили и даже андроид: actionMenuTextColor, и он все еще не работал –