1

可能重复:
为什么 TextView 的背景会改变它的大小?

我有一个 TextView,我将在其中动态放置文本,它有一个背景(自定义位图,不是纯色或渐变)。我希望 TextView(当然还有背景)环绕包含的文本(wrap_content)。我该怎么做?

另请参阅为什么 TextView 的背景会改变它的大小?.

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

4

2 回答 2

2

如果您放置固定大小的背景图像,那么您的视图将采用它的大小,因此您需要使用没有大小的背景,以便它可以占用您的文本大小。为此,您可以执行以下 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>

注意:有关详细说明,请点击链接

编辑:

3.如果图像不是普通的或渐变的,那么您需要在每次设置文本时以编程方式设置文本视图的宽度。

于 2012-06-18T12:19:00.687 回答
0

试试这个方法。。

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

我认为它对你有帮助。

谢谢

于 2012-06-18T12:17:24.327 回答