Подтвердить что ты не робот

Просмотр сообщения в журналах: "приложение: тема устарела"?

С момента обновления до последней библиотеки appcompat я вижу сообщение в своих журналах из ViewUtils.

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

Я использую parent="Theme.AppCompat.Light.NoActionBar" как родительскую тему.

4b9b3361

Ответ 1

Замените app:theme на android:theme, но вы можете иметь ситуацию, когда вы не используете app:theme. Проверьте свой макет, особенно макет панели инструментов. В моем случае у меня не было app:theme в моих файлах макета. Затем взгляните на мою ситуацию:

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

И я изменил этот макет на:

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

Теперь я не вижу предупреждения.

Посмотрите также здесь: https://chris.banes.me/2015/04/22/support-libraries-v22-1-0/

Великое объяснение Криса Банеса

Ответ 2

У меня был другой случай, когда это произошло, когда мой Toolbar был стилизован в styles.xml. Это выглядело так:

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

Измените name="theme" на name="android:theme" и устраните проблему.

Ответ 3

Проверьте свой макет.

Вы используете Toolbar, где вы определили app:theme.

Теперь поддержка 22.1 app:theme устарела. Вы должны использовать android:theme

Обратитесь здесь для получения дополнительной информации.