3

TextView を左側に配置し、コントロール (CheckBox など) を TextView の右側に配置したいと考えています。コントロールを画面上で左揃えにしたい。これは、LinearLayout または RelativeLayout を介して取得するのは難しくありません。たとえば、LinearLayoutでこれを行いました:

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/todo_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="@android:style/TextAppearance.Small"
         android:maxLines="2"
        android:textStyle="bold" />
    <View
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
    <CheckBox
        android:id="@+id/todo_checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:enabled="false"
        android:focusable="false"/>
 </LinearLayout>

問題は、TextView のテキストが長すぎると、チェックボックスが画面の外に押し出され、チェックボックスが表示されなくなることです。代わりに、チェックボックスが画面の右端に固定され、必要に応じて TextView が最終的に 2 行に分割されるようにしたいと考えています。どうすればこれを達成できますか?

4

2 に答える 2

7

テキストビューに使用android:layout_weight="1"し、チェックボックスは常に右側にあります。これを確認してください:Android Layout Weight

<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal" >
   <TextView
      android:id="@+id/todo_title"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:textAppearance="@android:style/TextAppearance.Small"
      android:maxLines="2"
      android:layout_weight="1"
      android:textStyle="bold" />
  <CheckBox
      android:id="@+id/todo_checkbox"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:enabled="false"
      android:focusable="false"/>
</LinearLayout>
于 2013-07-12T14:35:19.970 に答える