Seeing message in logs: “app:theme is deprecated”?

前端 未结 4 1743
独厮守ぢ
独厮守ぢ 2020-12-10 09:52

Ever since upgrading to the latest appcompat library, I\'m seeing a message in my logs from ViewUtils.

app:theme is now deprecated. Please move to using androi

相关标签:
4条回答
  • 2020-12-10 10:44

    If you see a code block like the following in the styles file ;

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

    Replace it.

    <item name="android:theme">@style/MyToolbarTheme</item>
    
    0 讨论(0)
  • 2020-12-10 10:49

    Replace app:theme to android:theme but you can have a situation when you are not using app:theme. Check your layout, especially toolbar layout. In my case, I didn't have app:theme in my layout files. Then take a look at my situation:

    <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" />
    

    And I've changed this layout to:

    <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" />
    

    Now I don't see the warning.

    Take a look also here: https://chris.banes.me/2015/04/22/support-libraries-v22-1-0/

    Great explanation by Chris Banes

    0 讨论(0)
  • 2020-12-10 10:50

    Check your layout.

    You are using a Toolbar where you have defined app:theme.

    Now with the support 22.1 app:theme is deprecated. You should use android:theme

    Check here for more info.

    0 讨论(0)
  • 2020-12-10 10:55

    I had another case where this occurred when my Toolbar was styled in styles.xml. It looked like this:

    <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>
    

    Change name="theme" to name="android:theme" and it fixed the problem.

    0 讨论(0)
提交回复
热议问题