1

非常に単純なレイアウト: 2 つの TextView が 1 行に表示されています。レイアウトは画面の中央に配置され、2 つの文字列はプログラムで設定されます。最初の文字列は可変長の文字列で、2 番目の文字列は空または (たとえば) "X" です。

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:gravity="center_horizontal"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/lblSelectionName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="@string/empty"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/lblSelectionAttribute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/empty"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>

最初の TextView は、文字列のサイズが TextView を超える場合に文字列を切り取るために楕円形になっていることに注意してください。私は次のようなものを期待しています:

"通常のテキスト | X" (画面中央)

"extralarge text that must be... | X" (画面中央 - 画面いっぱい)

しかし、何が起こるか: 最初の TextView は省略されますが、画面全体 (-幅) を埋め、2 番目の TextView は画面外です (それぞれ次の行にラップされます)。とにかく「重み」を使用しても役に立ちません。layout_height を固定値 (例: 15dp) に設定しても役に立ちません...

アドバイスはありますか?

4

1 に答える 1

2
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
     >

    <TextView
        android:id="@+id/lblSelectionName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="asdhsagdkgfhgfhghg"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/lblSelectionAttribute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="X"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>
于 2013-04-05T09:41:15.450 に答える