我正在使用android.support.v7.widget.Toolbar小部件编写自己的工具栏,并希望尽可能多地将内容放入我的res文件夹中的styles.xml中。
/res/layout/$example.xml文件的一部分
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toolbar_show_addresses_simple"
app:style="@style/toolbar_dark" >
在/res/values/styles.xml中,我的"toolbar_dark"被定义如下:
<style name="toolbar_dark">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@color/myPrimary</item>
<item name="app:theme">@style/ThemeOverlay.AppCompat.Dark</item>
<item name="app:popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="app:contentInsetStart">0dp</item>
</style>
编译代码时
Output:
Error: No resource found that matches the given name: attr 'app:contentInsetStart'.
Error: No resource found that matches the given name: attr 'app:popupTheme'.
Error: No resource found that matches the given name: attr 'app:theme'.
如果我直接在$example.xml中使用"app:*"的值,一切都正常。 那么,我该如何在res文件夹中的文件中使用我的应用程序命名空间?
如果我直接在$example.xml中使用"app:*"的值,一切都正常。那么,我该如何在res文件夹中的文件中使用我的应用程序命名空间?
xmlns:app=...
命名空间声明,我也从未能够让带有app前缀的元素在样式内起作用。 - OneWorldandroid
命名空间,将app
替换为android
。 - Apurvaapp:
是正确的声明方式,但这并没有影响我的错误。 - Felix Fiskare