0

バックグラウンド:

グリッド (2x3) として配置された 6 つのアイテムで構成されるレイアウトがあります。すべての項目は、画面の半分の幅 (左右のわずかな余白を差し引いたもの) です。各アイテムは(背景) と(ラベル)RelativeLayoutを含む です。ラベルはテキストをラップするように設定されており、その上にある画像とほぼ同じ幅に拡大できます。その後、2行に分かれます。ImageViewTextView

問題:

テキストが 1 行に収まる限り、すべてが適切に表示されます (図の一番上の要素を参照)。背景はテキストをうまく包み込みます。ただし、テキストが 2 行で表示されると、背景が広くなりすぎます (図の一番下の項目を参照)。最初の行のテキストはそれほど多くのスペースを占有しませんが、最大許容幅を埋めます。1 行だけを使用する場合と同じように、背景でテキストを折り返す方法はありますか?

写真:

画面キャプチャ

レイアウト XML:

    <ImageView
        android:id="@+id/item_image"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="centerCrop" />

    <!-- some stuff I had to remove... -->

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:paddingBottom="11.33333dp">

        <!-- some other stuff I had to remove... -->

        <!-- the gray background color is set to the TextView below programmatically together with the text itself. -->
        <TextView
            android:id="@+id/item_text_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5.33333dp"
            android:paddingLeft="7.33333dp"
            android:paddingRight="20dp"
            android:paddingTop="1dp"
            android:paddingBottom="5.33333dp"
            android:layout_alignParentRight="true"
            android:gravity="right" />
    </RelativeLayout>
</RelativeLayout>
4

1 に答える 1

0

そのような問題の可能性の 1 つは、textSize.

設定方法と、 の設定に使用している測定単位によって異なりtextSizeますTextView

dp,sp,pt and inこのような問題を引き起こす可能性があります。

したがって、mmまたはpx具体的に行ってみてください。

そして、私のテストによるpxと、最良の結果が得られます。

編集済み:

TextView次の属性をイン レイアウト ファイルに追加します。

android:gravity="right|start"

それ以外の :

android:gravity="right"

ありがとう。

于 2012-12-18T09:35:23.020 に答える