Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android风格-@style、Android:、@Android:style等之间的差异_Android_Android Styles - Fatal编程技术网

Android风格-@style、Android:、@Android:style等之间的差异

Android风格-@style、Android:、@Android:style等之间的差异,android,android-styles,Android,Android Styles,在android开发者示例、博客等中,我看到了样式属性值的多个前缀。有人能描述一下什么时候用什么吗?例如,这3种情况之间的区别是什么 parent="@android:style/TextAppearance" parent="TextAppearance.AppCompat" parent="@style/TextAppearance.AppCompat" 这两种情况有什么区别 <item name="colorControlNormal">@color/white</it

在android开发者示例、博客等中,我看到了样式属性值的多个前缀。有人能描述一下什么时候用什么吗?例如,这3种情况之间的区别是什么

parent="@android:style/TextAppearance"
parent="TextAppearance.AppCompat"
parent="@style/TextAppearance.AppCompat"
这两种情况有什么区别

<item name="colorControlNormal">@color/white</item>
<item name="android:colorControlNormal">@color/white</item>
@color/white
@颜色/白色

不带任何前缀的样式引用同一文件中命名的样式

@Style引用您的Style.xml项目文件

@android:style引用了定义的android-API样式

更多关于和


关于vs android:colorControlNormal是相同的解释。如果您使用controlColorNormal则在应用程序中定义应用于处于正常状态的框架控件的颜色。如果您使用android:colorControlNormal,您将覆盖系统应用于框架控件的默认颜色。

您可以将@视为发出命名资源即将出现的信号

@type/name
标识一个类型为
type
(字符串、颜色、布局、样式等)的资源,该资源的名称将在应用程序中定义

@+id/name
标识一个名为
name
的id资源,如果该id资源不存在,则将创建该id资源(而@id只是指已经存在的id)

@android:type/name
表示命名资源是即将出现的android平台的一部分(应用程序中没有定义它,它是由设备提供的)


对于样式父级,@style是可选的。您可以直接按名称引用样式。这是多余的,因为您不能从其他样式派生样式。

谢谢。你能详细说明一下colorControlNormal和android:colorControlNormal的区别吗。在我的style.xml中我应该使用哪一个?这不是关于你应该使用哪一个,而是关于为你的案例确定正确的一个。如果是您自己定义的资源,那么只需使用该名称即可。如果它是由Android平台定义的,则需要Android前缀。AppCompat不是这样。