根据Open-sided Android 笔画?,基本上有2种方式来实现TableLayout的边框。
使用描边
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00ffffff"/>
<stroke android:width="1dp" android:color="#ffffff"/>
</shape>
但是,这不是我想要的,因为我只想要底部边框。因此,我尝试另一种选择。
使用 2 层
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item>
<shape>
<solid android:color="#ffffff" />
</shape>
</item>
<!-- This is the main color -->
<item android:bottom="1dp">
<shape>
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
但是,在列表视图选择期间,TableRow
将不会用ListView
选择颜色突出显示,因为它的背景已经被“#000000”层取代。
有没有更好的方法我可以只有底部边框,但它会服从ListView
选择突出显示颜色?