为什么app:theme无法使用tn xml文件?

asi*_*bar -3 android android-appcompat material-design android-toolbar

我正在尝试学习android材质设计。使用工具栏,我想更改弹出菜单以及文本颜色。所以我发现可以通过添加以下代码来完成

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#CCC"
    app:theme="@style/ThemeOverlay.AppCompat.Light"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
    android:elevation="4dp"

    >
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

但是问题是app:themeapp:popupTheme无法正常工作,并且在android studio xml文件中显示错误。

在此处输入图片说明

我能知道些什么?

我正在使用com.android.support:appcompat-v7:23.0.0

Gab*_*tti 5

您必须在xml文件中添加名称空间。

xmlns:app="http://schemas.android.com/apk/res-auto"
Run Code Online (Sandbox Code Playgroud)

有点像:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#CCC"
    app:theme="@style/ThemeOverlay.AppCompat.Light"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
    android:elevation="4dp"
    />
Run Code Online (Sandbox Code Playgroud)

同样从appcompat v22.1开始,您可以在中使用Toolbar

    android:theme="@style/ThemeOverlay.AppCompat.Light"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
Run Code Online (Sandbox Code Playgroud)