Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Seeing message in logs: "app:theme is deprecated"?

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 android:theme instead.

I'm using parent="Theme.AppCompat.Light.NoActionBar" as my theme parent.

like image 664
spierce7 Avatar asked Apr 24 '15 17:04

spierce7


4 Answers

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

like image 136
adek Avatar answered Nov 09 '22 16:11

adek


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.

like image 19
Greg Ennis Avatar answered Nov 09 '22 17:11

Greg Ennis


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.

like image 16
Gabriele Mariotti Avatar answered Nov 09 '22 15:11

Gabriele Mariotti


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>
like image 1
Erhan Biçer Avatar answered Nov 09 '22 16:11

Erhan Biçer