在日志中查看消息:" app:主题已弃用"?

时间:2015-04-24 17:54:51

标签: android android-appcompat android-toolbar

自升级到最新的appcompat库以来,我在ViewUtils的日志中看到了一条消息。

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

我使用parent="Theme.AppCompat.Light.NoActionBar"作为我的主题父母。

4 个答案:

答案 0 :(得分:68)

=:=替换为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" />

现在我没有看到警告。

看看这里: https://chris.banes.me/2015/04/22/support-libraries-v22-1-0/

Chris Banes的精彩解释

答案 1 :(得分:18)

我有另一个案例,当我在styles.xml中设置Toolbar样式时发生这种情况。它看起来像这样:

<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",它解决了问题。

答案 2 :(得分:15)

检查你的布局。

您正在使用已定义Toolbar

app:theme.

现在支持22.1 app:theme已被弃用。您应该使用android:theme

查看here了解详情。

答案 3 :(得分:1)

如果在样式文件中看到如下代码块;

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

替换它。

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