覆盖所有表单元素样式,如HTML + CSS

时间:2012-02-20 14:00:02

标签: android styles

在HTML / CSS中,您可以通过在CSS

中定义p来覆盖所有段落

即。 p { color: blue; }

你可以在Android中模仿这个吗?我想为styles.xml中的所有表单元素定义我的样式集,然后我编写的每个布局都将使用这些属性。

目前我必须在布局中指定样式:即

<EditText android:id="@+id/address1" style="@style/EditText" />

这似乎有点多余(并且容易出错)。

谢谢,

约翰

1 个答案:

答案 0 :(得分:2)

您必须创建一个 xml 文件,该文件定义您想要的样式,并将其存储在 res / values 文件夹中。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

这是一个风格的例子,一旦你有你的风格。您可以通过执行以下操作将其应用到每个视图:

<TextView
    style="@style/CodeFont"
    android:text="@string/hello" />

此示例来自:

http://developer.android.com/guide/topics/ui/themes.html