android TableLayout 单双背景
时间: 2023-11-22 22:53:53 浏览: 145
你可以通过在 TableLayout 中的每个 TableRow 中设置不同的背景来实现单双行不同的背景效果。具体步骤如下:
1. 在 res/drawable 目录下创建两个 XML 文件,分别命名为 odd_bg.xml 和 even_bg.xml。这两个文件分别代表了奇数行和偶数行的背景。
2. 在 odd_bg.xml 中添加以下内容:
```xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/odd_color" />
</shape>
```
其中,@color/odd_color 代表了奇数行的背景颜色。
3. 在 even_bg.xml 中添加以下内容:
```xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/even_color" />
</shape>
```
其中,@color/even_color 代表了偶数行的背景颜色。
4. 在 TableLayout 中添加每个 TableRow 的时候,判断当前行是奇数行还是偶数行,然后设置不同的背景。
```java
for (int i = 0; i < rowCount; i++) {
TableRow tableRow = new TableRow(this);
// 判断当前行是奇数行还是偶数行
if (i % 2 == 0) {
tableRow.setBackgroundResource(R.drawable.even_bg);
} else {
tableRow.setBackgroundResource(R.drawable.odd_bg);
}
// 添加其他控件到 TableRow 中
...
tableLayout.addView(tableRow);
}
```
其中,R.drawable.even_bg 和 R.drawable.odd_bg 分别对应了上面创建的两个 XML 文件。
这样就可以实现单双行不同的背景效果了。
阅读全文