Ho usato questo tutorial per lifting mia Holo app per Lollipop: http://android-developers.blogspot.ru/2014/10/appcompat-v21-material-design-for-pre.htmlStyling ActionMode ActionBar in Android 5.0 Lollipop (con AppCompat)
Quello che ho:
Tema
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="windowActionModeOverlay">true</item> <item name="colorPrimary">@color/theme_primary</item> <item name="colorPrimaryDark">@color/theme_primary_dark</item> <item name="colorAccent">@color/theme_accent</item> </style>
Layout barra degli strumenti
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Attività ereditato da ActionBarActivity con un frammento ListFragment in modalità multi-scelta
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
Risultato: La barra degli strumenti è OK. Utilizza i colori del tema sepcificati, ma l'ActionBar utilizzato da ListFragment in ActionMode (attivato toccando e tenendo premuto un elemento della lista) ha i colori standard Dark.ActionBar. Anche il menu popup della barra delle azioni utilizza il tema scuro.
Ho provato tutti i trucchi SO, ma non riesco ancora a risolverlo. Apprezzerò qualsiasi aiuto.
BTW. Ho scoperto che i colori scuri di ActionBar sono causati dalla barra degli strumenti app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
, ma non ho idea di come risolverlo, perché questo attributo è necessario per l'aspetto della barra degli strumenti corretto.
Dopo un sacco di tempo trascorso su questo problema, questo funziona davvero. Grazie! – Sandra
Ho sprecato un sacco di tempo cercando di farlo funzionare, solo per rendermi conto che, per farlo funzionare nella barra degli strumenti di AppCompat, devi rimuovere la parte _ "android:" _ del nome dell'oggetto. Sperando che questo aiuti altre persone a leggere questo thread :) – Jun
grazie! per quanto riguarda il colore della barra di stato? diventa bianco quando viene visualizzato 'actionmode'? – sajad