2

複数行の TextView があり、その横にチェックボックスを表示したいと考えています。問題は、テキストが複数の行にまたがる場合、チェックボックスが表示されないことです。

これまでのところ、私は(IDなしで)持っています:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:gravity="left"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:focusable="true"
        android:gravity="left"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="3dp"
            android:paddingTop="5dp"
            android:singleLine="false"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:focusable="false"
            android:text=""
            android:clickable="false" />

    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="3dp"
        android:paddingLeft="3dp"
        android:singleLine="false"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
        android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>

レイアウトは次のようにレンダリングされます (チェックボックスがないことに注意してください)。

チェックボックスがありません

テキストを短くすると、正しくレンダリングされます。

チェックボックスはあります

複数行の TextView の右側に CheckBox を追加することは可能ですか?

編集: 申し訳ありませんが、この質問をした後 (layout_weight=1 を追加することで) すぐに問題を解決しましたが、間違ったスレッドに投稿しました。私はそれを示唆する答えを受け入れました。

4

5 に答える 5

4

これを追加android:layout_weight="1"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:gravity="left"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:focusable="true"
        android:gravity="left"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="3dp"
            android:paddingTop="5dp"
            android:singleLine="false"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
            android:textAppearance="?android:attr/textAppearanceLarge" 
            android:layout_weight="1" />

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:focusable="false"
            android:text=""
            android:clickable="false"
            />

    </LinearLayout>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="3dp"
        android:paddingLeft="3dp"
        android:singleLine="false"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
        android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
于 2012-09-10T08:14:12.937 に答える
2

リニア レイアウト内のリニア レイアウトではなく、リニア レイアウト内で相対レイアウトを使用し、相対レイアウト パラメータを使用するようにしてください。

于 2012-09-10T08:09:04.540 に答える
1

よりも大きな値を与えてみてくださいCheckBox(に設定して、より高くしてください)WeightTextViewwidth0dipWeight

于 2012-09-10T08:11:17.550 に答える
1

重みを使用してこれを行うことができます..次のコードを試してください

必要に応じてウェイトを変更してみてください

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:gravity="left"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingLeft="3dp"
        android:paddingTop="5dp"
        android:singleLine="false"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:focusable="false"
        android:text=""
        android:clickable="false" />

</LinearLayout>

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="3dp"
    android:paddingLeft="3dp"
    android:singleLine="false"
    android:text="Lorem ipsum dolor sit amet, consectetur adipiscing"
    android:textAppearance="?android:attr/textAppearanceSmall" />

于 2012-09-10T08:12:33.173 に答える
1

LinearLayout で以下を使用してみてください

<TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="textfield 1-1"></TextView>
<CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>

http://huah.com/using-tablelayout-on-android/からコピー

于 2012-09-10T08:34:23.403 に答える