Ho una lista di navigazione nella mia barra delle azioni con uno sfondo scuro. Il menu pop, tuttavia, ha uno sfondo bianco.Navigazione nella lista delle azioni: colore del testo diverso nell'intestazione e menu di scelta rapida
Quindi, ciò che voglio ottenere è che il colore del testo dell'elemento all'interno della barra delle azioni sia bianco mentre il colore del testo delle voci nel menu a comparsa sia nero.
Questo sono due esempi quello che ho ottenuto finora:
Questo è come dovrebbe essere simile:
Qualcuno sa una soluzione?
Questo è il mio codice per la lista di navigazione:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, new String[] { "Item 1", "Item 2" });
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(adapter,
new ActionBar.OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
return true;
}
});
getSupportActionBar().setSelectedNavigationItem(0)
Queste è una raccolta di stili con cui ho lavorato.
<style name="CustomTheme" parent="@style/Theme.customized">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="actionDropDownStyle">@style/CustomSherlockDropDownNav</item>
<item name="android:actionDropDownStyle">@style/CustomSherlockDropDownNav</item>
<!-- didn't work: http://stackoverflow.com/questions/12395381/android-actionbar-navigation-spinner-text-color
<item name="android:spinnerDropDownItemStyle">@style/custom.Widget.DropDownItem.Spinner</item>
<item name="spinnerDropDownItemStyle">@style/custom.Widget.DropDownItem.Spinner</item>
-->
<!-- didn't work: http://stackoverflow.com/questions/11479186/styling-actionbar-dropdown-menu
<item name="android:actionBarWidgetTheme">@style/custom.actionBarWidgetTheme</item>
<item name="actionBarWidgetTheme">@style/custom.actionBarWidgetTheme</item>
-->
<!-- didn't work: http://android-developers.blogspot.de/2011/04/customizing-action-bar.html
<item name="android:dropDownListViewStyle">@style/CustomDropDownListView</item>
<item name="dropDownListViewStyle">@style/CustomDropDownListView</item>
-->
....
</style>
<style name="custom.actionBarWidgetTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:spinnerDropDownItemStyle">@style/custom.Widget.DropDownItem.Spinner</item>
</style>
<style name="custom.Widget.DropDownItem.Spinner" parent="@style/Widget.Sherlock.DropDownItem.Spinner">
<item name="android:textAppearance">@style/custom.TextAppearance.Widget.DropDownItem</item>
</style>
<style name="custom.TextAppearance.Widget.DropDownItem" parent="@style/TextAppearance.Sherlock.Widget.DropDownItem">
<item name="android:textColor">#00A000</item>
</style>
<style name="CustomDropDownListView" parent="android:style/Widget.Holo.ListView.DropDown">
<item name="android:textColor">#00A000</item>
<item name="android:textSize">8dip</item>
</style>
<style name="CustomSherlockDropDownNav" parent="@style/Widget.Sherlock.Light.Spinner.DropDown.ActionBar">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_customtab</item>
<item name="android:background">@drawable/spinner_background_ab_customtab</item>
</style>
Tuttavia, non ha funzionato.
come hai fatto? puoi pubblicare un codice funzionante? –
@ user2247689: attualmente non ho accesso ai sorgenti. Fondamentalmente ho iniziato con ciò che * matthias * ha proposto: applicare due layout diversi e impostare stili personalizzati per loro (ignorando 'textAppearance', vedi il mio commento). Ti consiglio di dare un'occhiata a ActionBarSherlock, perché puoi cercare rapidamente le fonti di stile collegate. Più tardi ho cambiato la mia implementazione con la soluzione di * Android-Developer *, perché ho più di uno 'Spinner' nella mia app. – Trinimon
Grazie per la risposta ... Ho fatto funzionare la cosa :) –