Używam paska narzędzi i używam opcji dla odpowiednich działań. Mój problem polega na tym, że chcę pokazać tekst "ZAPISZ" na pasku narzędzi z kolorem białym, stosuję wiele stylów, ale zawsze wyglądam jak czarny. Ale gdy opcja pojawi się jako wyskakujące, kolor tekstu jest zawsze biały. Często googlę, ale nie mam rozwiązania.Zmień kolor tekstu menu opcji, gdy używamy aplikacji: showAsAction = "zawsze"
Oto mój kod:
Pasek
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
android:id="@+id/my_awesome_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@android:style/ThemeOverlay.Material.Light"
app:popupTheme="@style/Theme.AppCompat.NoActionBar"
android:background="@drawable/tb_header"
android:minHeight="?attr/actionBarSize"/>
style
<style name="MStyle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:colorBackground">@android:color/black</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:textAllCaps">false</item>
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:panelBackground">@android:color/holo_green_light</item>
<item name="android:actionBarWidgetTheme">@style/AppTheme</item>
</style>
<style name ="MyPopupMenu" parent="android:Theme.Holo.Light">
<item name="android:popupBackground">@android:color/holo_green_light</item>
</style>
****Option menu****
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.doubtfire.userprofiles.ParentProfileActivity">
<item
android:id="@+id/action_skip"
android:title="@string/menu_str_skip"
android:orderInCategory="100"
app:showAsAction="always" />
</menu>
****I even apply code at onPrepareOptionMenu****
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
for (int i=0; i<menu.size(); i++) {
MenuItem mi = menu.getItem(i);
String title = mi.getTitle().toString();
Spannable newTitle = new SpannableString(title);
newTitle.setSpan(new ForegroundColorSpan(Color.WHITE), 0, newTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mi.setTitle(newTitle);
}
return true;
}
to nie działa :( – theLazyFinder
Może nie zrozumiałem. Czy chcesz zmienić tekst elementu menu na pasku akcji? Tak? Jeśli tak to powinien prace. Czy dodany do Twojego stylu 'Aktywność' w Manifeście? –
Tak, chcę dokładnie to, co mówisz, i dodałem ten motyw do aplikacji w tagu aplikacji jako – theLazyFinder