6

根据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选择突出显示颜色?

4

1 回答 1

1

在您的形状文件中<solid android:color="@android:color/transparent"/>使用<solid android:color="#00ffffff"/>

于 2013-02-14T07:34:48.823 回答