在 xml (android:, app:, @.., ...) 上使用 android 前缀
Posted
技术标签:
【中文标题】在 xml (android:, app:, @.., ...) 上使用 android 前缀【英文标题】:use android prefix on xml (android:, app:, @.., ...) 【发布时间】:2018-01-23 06:23:04 【问题描述】:在 xml 文件中的 androidStudio 上,我不明白带有 android 前缀的项目和没有它的项目之间的区别 我的部分源代码例如:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="actionMenuTextColor">@color/white</item>
</style>
<style name="AppTheme.toolbar" parent="Widget.AppCompat.Toolbar">
<item name="android:background">@color/grey</item>
</style>
在这个 xml 文件中,为什么某些属性需要前缀 (android:) 而其他则不需要。 例如:
<item name="android:textColorPrimary">@color/white</item>
这部分代码可以正常工作,但是当使用下面的代码时,它就不起作用了:
<item name="textColorPrimary">@color/white</item>
所以任何人都可以帮助我了解前缀之间的区别,以及我何时使用它。谢谢
【问题讨论】:
也在***.com/questions/8845565/…讨论过 【参考方案1】:这是因为其中一些属性来自不同的 XML 名称空间。 在布局文件中,您可能会看到类似的内容:
<Linear Layout
xmlns:android="http://schemas.android.com/apk/res/android">
您需要一种方法来告诉编译器您将从该位置引用属性,并且您可以使用
"android:"
【讨论】:
以上是关于在 xml (android:, app:, @.., ...) 上使用 android 前缀的主要内容,如果未能解决你的问题,请参考以下文章
Android 应用安装失败:包 com.my.app 在 AndroidManifest.xml 入口处没有证书