特定组件类型的主题属性

时间:2012-10-19 16:37:14

标签: android android-theme android-styles

我可以在主题中定义仅适用于特定组件的属性,例如EditText,就像在CSS中可以使用的那样,例如.table?我知道我可以定义一个样式并将其设置在所有组件上,但我正在寻找一种更有效的方法。

1 个答案:

答案 0 :(得分:1)

在您的主题中,添加<item name="android:editTextStyle">@style/<your substyle name>

<style name="My.Mega.Theme" >
    <item name="android:editTextStyle">@style/My.Mega.Theme.EditText</item>
</style>

<style name="My.Mega.Theme.EditText" parent="My.Mega.Theme">
    <item name="android:textSize">14sp</item>
</style>

editTextStyle替换为buttonStyle按钮,依此类推。

您甚至可以为同一类的控件提供css类的类比,例如:

(样式文件):

<attr name="note" format="reference" />

<style name="My.Mega.Theme" >
    <item name="note">@style/My.Mega.Theme.SmallText</item>
</style>

(布局文件):

<TextView style="?note"/>