在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>发布于 2016-03-29 20:56:14
没有任何前缀引用同一文件上命名的样式。
@Style引用style.xml项目文件。
@android:style引用定义了Android风格。
更多关于风格资源和风格与主题的信息。
关于http://developer.android.com/intl/es/reference/android/R.attr.html#colorControlNormal与安卓的关系:颜色控制--android是同样的解释。如果使用controlColorNormal,则在应用程序中定义应用到框架控件的正常状态的颜色。如果使用android:colorControlNormal,则将覆盖系统应用于框架控件的默认颜色。
发布于 2016-03-29 20:56:24
您可以将@看作是一个正在出现的命名资源的信号。
@type/name标识type类型的资源(字符串、颜色、布局、样式等),并在应用程序中定义名称name。
@+id/name标识了一个名为name的id资源,如果它还不存在,就会创建它(而@id只是指已经存在的id )。
@android:type/name意味着命名资源是安卓平台的一部分(它没有在应用程序中定义--它是由设备提供的)。
对于样式父母,@style是可选的。您可以直接按名称引用样式。这是多余的,因为您无法从任何其他样式派生样式。
https://stackoverflow.com/questions/36294824
复制相似问题