TextView具有可变宽度和背景

时间:2012-06-18 12:10:18

标签: android background textview

  

可能重复:
  Why does the background of TextView change it's size?

我有一个TextView,我会动态地放置文本,它有一个背景(自定义位图,不是纯色或渐变)。我希望TextView(当然还有背景)包含所包含的文本(wrap_content)。我该怎么办?

另见Why does the background of TextView change it's size?

我唯一发现的是使背景位图非常小,然后它会拉伸和包裹。但这不是很好的质量......

2 个答案:

答案 0 :(得分:2)

如果您放置固定大小的背景图像,那么您的视图将采用它的大小,因此您需要使用没有大小的背景,以便它可以占用您的文本大小。为此,您可以执行以下两项操作:

1。获取1像素的图像。

2。绘制渐变图像:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:angle="270"
        android:endColor="#FFFFFF"
        android:startColor="#FFFFFF"
        android:type="linear" >
    </gradient>

    <corners android:radius="10dp" />

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

</shape>

注意:有关详细说明,请按照link

进行操作

<强>编辑:

3. 如果图片不是普通图片或渐变图片,则每次设置文本时都需要以编程方式设置textview的宽度。

答案 1 :(得分:0)

试试这种方式..

         EditText saveas = new EditText(context);
    saveas.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT));

我认为它会对你有所帮助。

由于