3
我有一個佈局,我用ListView
中的行。在某些地方,我需要以「光線」風格和某些地方的「黑暗」來展示佈局。我如何使用Android樣式,主題等來完成此操作?造型整個佈局
我瞭解樣式的概念,但它看起來像只適用於單個元素。他們讓我定義了一組適用於具有該樣式的元素的屬性。我想要做的就是定義以下屬性:
- 標題文本顏色(適用於
TextView
1) - 字幕文本顏色(適用於
TextView
2) - 背景(應用於父佈局)
我有一個佈局,我用ListView
中的行。在某些地方,我需要以「光線」風格和某些地方的「黑暗」來展示佈局。我如何使用Android樣式,主題等來完成此操作?造型整個佈局
我瞭解樣式的概念,但它看起來像只適用於單個元素。他們讓我定義了一組適用於具有該樣式的元素的屬性。我想要做的就是定義以下屬性:
TextView
1)TextView
2)這是不可能set a style programatically,所以我創建一個主題,這個主題適用於需要它的活動。
創建屬性
添加設置樣式屬性res/values/attrs.xml
像這樣:
<declare-styleable name="MyTheme">
<attr name="titleColor" format="color" />
<attr name="subtitleColor" format="color" />
<attr name="backgroundDrawable" format="reference" />
</declare-styleable>
MyTheme
似乎並不需要涉及到任何東西。我懷疑這只是屬性的命名空間。
創建風格
在res/values/styles.xml
:
<style name="MyTheme.LightRows">
<item name="titleColor">@color/black</item>
<item name="subtitleColor">@color/grey</item>
<item name="backgroundDrawable">@drawable/cell_bg</item>
</style>
應用樣式活動
在AndroidManifest.xml
:
<activity android:name=".view.activity.LightActivity"
android:theme="@style/MyTheme.LightRows" />
參考樣式屬性
在用於列表行(或其他)的佈局:
android:textColor="?attr/titleColor"