在进度条中定义Android的进度条样式语法
style="?android:attr/progressBarStyleHorizontal"
我不是如何语法著作明确风格定义。有人可以解释这个语法吗?
在进度条中定义Android的进度条样式语法
style="?android:attr/progressBarStyleHorizontal"
我不是如何语法著作明确风格定义。有人可以解释这个语法吗?
该语法用于引用系统样式属性,它与用于引用由Android系统预定义的资源的语法类似:而在您使用的一般资源情况下, @android:drawable/ic_media_play
引用由XML文档中包含的ImageButton
UI元素的属性的值ic_media_play.png
代表的可绘制元素,该属性引用是使用?
而不是@
构建的,但其余的构成如下规则和作品以同样的方式。
尤其属性通常存储在res/values/attrs.xml
,在那里你可以找到(查看存储在Android SDK中的系统资源)以下
<attr name="progressBarStyleHorizontal" format="reference" />
表明该属性是其他一些资源的引用。风格属性在res/values/themes.xml
定义在以下的方式:
<item name="progressBarStyleHorizontal">
@android:style/Widget.ProgressBar.Horizontal
</item>
这的确是作为已被另一个答案描述的系统res/values/styles.xml
到样式Widget.ProgressBar.Horizontal
的引用。
需要注意的是,在上下文当系统知道要期待一个属性资源的引用,你甚至可以忽略的资源类型(即attr/
部分),导致语法如:
android:textColor="?android:textColorSecondary"
您可能会发现在Android developer guide
android:attr表示这种风格是从android的框架中挑选出来的。所以,如果你的框架http://bit.ly/yBC5pM浏览styles.xml源和搜索 progressBarStyleHorizontal,你可以看到它从Widget.ProgressBar.Horizontal
<style name="Widget.ProgressBar.Horizontal" parent="@style/Widget.ProgressBar"> <item name="maxHeight">20.0dip</item> <item name="indeterminateOnly">false</item> <item name="indeterminateDrawable">@drawable/progress_indeterminate_horizontal</item> <item name="progressDrawable">@drawable/progress_horizontal</item> <item name="minHeight">20.0dip</item> </style>
以上所有特性继承Widget.Progressbar +性能(因为它的父母是这样的)将会继承到你的进度条。
我的问题是关系到其风格被定义 “风格=”机器人语法稍微信息:ATTR /” – prashant 2012-01-04 17:00:30
像guilio说,语法部分可以在链路发现由他提供 – nandeesh 2012-01-04 20:12:24