ListView でも LinearLayout でもいいんですが、
一行のアイテムの中で
左側に TextView、右側に CheckBox を表示したいときとか、
どうやってCheckBoxを右寄せにしたらいいかわかりませんでした。
文章だけだと何言ってるかわかんないかもしれませんが
同じようにハマっている方ならわかってもらえると思います(笑)
android:layout_widthを調整したり
android:gravityをいじってみたりしたんですが、
CheckBoxが消えて見えなくなっちゃったり、
両方左に寄っちゃったりして
どうも上手くいかない。
カギは
android:layout_weight
にありました。
以下のようにすると上手く表示されます。
<LinearLayout android:orientation="horizontal" android:gravity="center_vertical" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/TextView01" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="TEXT"> </TextView> <CheckBox android:id="@+id/CheckBox02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right"> </CheckBox> </LinearLayout>
TextViewのほうに
android:layout_weight=”1″
を追加してあります。
これはコンポーネントに重みづけをするらしく
どうやら余白を取る優先順位を決めてるみたいなんですよね。
(デフォルトでは0)
この例だと、
TextViewが1、CheckBoxが0なので
両者の間の空白をすべてTextViewが持っていくようです。