Android的TableLayout中每行的样式相同

时间:2015-06-04 11:26:19

标签: android android-layout

Android XML中是否有任何方法可以同时为TableLayout中的所有行设置相同的样式(或样式参数,如填充)?

我想避免做的是:

<TableLayout>
    <TableRow style="@style/MyStyle">...</TableRow>
    <TableRow style="@style/MyStyle">...</TableRow>
    <TableRow style="@style/MyStyle">...</TableRow>
    <TableRow style="@style/MyStyle">...</TableRow>
    ...
</TableLayout>

1 个答案:

答案 0 :(得分:-1)

您可以通过在res / values目录中创建XML文件来定义自己的样式。因此,假设您想要使用红色和粗体文本,然后使用以下内容创建文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyRedTheme" parent="android:Theme.Light">
    <item name="android:textAppearance">@style/MyRedTextAppearance</item>
  </style>
  <style name="MyRedTextAppearance" parent="@android:style/TextAppearance">
    <item name="android:textColor">#F00</item>
    <item name="android:textStyle">bold</item>
  </style>
</resources>

您可以按照自己的意愿命名,例如res/values/red.xml。然后,您唯一需要做的就是在所需的小部件中使用该视图,例如:

  <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView
        style="@style/MyRedTheme"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="This is red, isn't it?"
        />
    </LinearLayout>

更多参考资料click here