我有一个TextView,我想添加一个黑色边界沿其顶部和底部边界。我尝试添加android:drawableTop和android:drawableBottom到TextView,但这只会导致整个视图变成黑色。
<TextView
android:background="@android:color/green"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableTop="@android:color/black"
android:drawableBottom="@android:color/black"
android:text="la la la" />
有没有一种方法可以轻松地添加一个顶部和底部边界的视图(特别是TextView)在Android?
为了只在底部添加1dp白色边框,并且有一个透明的背景,你可以使用下面的方法,这比这里的大多数答案都简单。
对于TextView或其他视图添加:
android:background="@drawable/borderbottom"
在可绘制目录中添加以下XML,称为borderbottom.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-2dp" android:left="-2dp" android:right="-2dp">
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#ffffffff" />
<solid android:color="#00000000" />
</shape>
</item>
</layer-list>
如果你想在顶部设置边框,将android:top="-2dp"改为android:bottom="-2dp"
颜色不需要是白色的,背景也不需要是透明的。
固体元素可能不是必需的。这取决于你的设计(感谢V. Kalyuzhnyu)。
基本上,这个XML将使用矩形形状创建边框,但随后将顶部、右侧和左侧推到形状的渲染区域之外。这样只留下底部边界可见。
为了只在底部添加1dp白色边框,并且有一个透明的背景,你可以使用下面的方法,这比这里的大多数答案都简单。
对于TextView或其他视图添加:
android:background="@drawable/borderbottom"
在可绘制目录中添加以下XML,称为borderbottom.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-2dp" android:left="-2dp" android:right="-2dp">
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#ffffffff" />
<solid android:color="#00000000" />
</shape>
</item>
</layer-list>
如果你想在顶部设置边框,将android:top="-2dp"改为android:bottom="-2dp"
颜色不需要是白色的,背景也不需要是透明的。
固体元素可能不是必需的。这取决于你的设计(感谢V. Kalyuzhnyu)。
基本上,这个XML将使用矩形形状创建边框,但随后将顶部、右侧和左侧推到形状的渲染区域之外。这样只留下底部边界可见。