是否可以在Android TextView周围绘制边框?


当前回答

可以将可绘制的形状(矩形)设置为视图的背景。

<TextView android:text="Some text" android:background="@drawable/back"/>

和矩形drawable back.xml(放入res/drawable文件夹):

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="@android:color/white" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

您可以使用@android:color/transparent作为纯色,使其具有透明的背景。您还可以使用填充将文本与边框分开。有关详细信息,请参阅:http://developer.android.com/guide/topics/resources/drawable-resource.html

其他回答

我找到的最简单的解决方案(而且实际可行):

<TextView
    ...
    android:background="@android:drawable/editbox_background" />
  <View
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="@android:color/black" />

这段代码足够你可以放在任何地方

试试看:

<shape>
    <solid android:color="@color/txt_white"/>
    <stroke android:width="1dip" android:color="@color/border_black"/>
</shape>

有很多方法可以向textView添加边框。最简单的方法是创建一个自定义的可绘制文件,并将其设置为android:background=“@drawable/textview_bg”用于textview。

textview_bg.xml将位于Drawables下,可以是这样的。您可以有一个实心或渐变背景(如果不需要的话,也可以没有背景)、添加角半径的角和添加边框的笔划。

textview_bg.xml

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">

        <corners
            android:radius="@dimen/dp_10"/>

        <gradient
            android:angle="225"
            android:endColor="#FFFFFF"
            android:startColor="#E0E0E0" />

        <stroke
            android:width="2dp"
            android:color="#000000"/>

    </shape>

创建一个边框视图,背景颜色作为边框的颜色和文本视图的大小。将边框视图填充设置为边框的宽度。将文本视图背景色设置为文本视图所需的颜色。现在在边框视图中添加文本视图。