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