在進度條中定義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