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 に答える