我有一个TextView,我会动态地放置文本,它有一个背景(自定义位图,不是纯色或渐变)。我希望TextView(当然还有背景)包含所包含的文本(wrap_content)。我该怎么办?
另见Why does the background of TextView change it's size?。
我唯一发现的是使背景位图非常小,然后它会拉伸和包裹。但这不是很好的质量......
答案 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));
我认为它会对你有所帮助。
由于