Domanda Visualizzazione del messaggio nei log: "app: theme is deprecated"?


Da quando ho aggiornato l'ultima libreria appcompat, vedo un messaggio nei miei log da ViewUtils.

app:theme is now deprecated. Please move to using android:theme instead.

sto usando parent="Theme.AppCompat.Light.NoActionBar" come il mio genitore tema.


44
2018-04-24 17:54


origine


risposte:


Sostituire app:theme a android:theme ma puoi avere una situazione quando non stai usando app:theme. Controlla il tuo layout, in particolare il layout della barra degli strumenti. Nel mio caso, non avevo app:theme nei miei file di layout. Quindi dai un'occhiata alla mia situazione:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:styled="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    styled:popupTheme="@style/ToolbarDarkPopup"
    styled:theme="@style/ActionBarThemeOverlay" />

E ho modificato questo layout per:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ActionBarThemeOverlay" />

Ora non vedo l'avvertimento.

Dai un'occhiata anche qui: https://chris.banes.me/2015/04/22/support-libraries-v22-1-0/

Ottima spiegazione di Chris Banes


62
2018-04-24 18:41



Ho avuto un altro caso in cui questo si è verificato quando il mio Toolbar è stato disegnato in styles.xml. Sembrava questo:

<style name="AppActionBar" parent="Widget.AppCompat.ActionBar">
    <item name="android:background">@color/ng_blue</item>
    <item name="theme">@style/ThemeOverlay.AppActionBar</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>

Modificare name="theme" a name="android:theme" e ha risolto il problema.


17
2018-06-02 17:17



Controlla il tuo layout.

Stai usando un Toolbar dove hai definito app:theme.

Ora con il supporto 22.1 app:theme è deprecato. Dovresti usare android:theme

Dai un'occhiata Qui per maggiori informazioni.


14
2018-04-24 18:17



Se vedi un blocco di codice come il seguente nel file degli stili;

<item name="theme">@style/MyToolbarTheme</item>

Sostituiscilo.

<item name="android:theme">@style/MyToolbarTheme</item>

1
2018-04-19 13:03