3

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

4

1 回答 1

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>

替换editTextStylebuttonStylefor 按钮等。

您甚至可以为同一类的控件使用 css 类的类似物,例如:

(样式文件):

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

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

(布局文件):

<TextView style="?note"/>
于 2012-12-21T10:15:18.230 回答