CheckBox だけを右寄せにする方法

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が持っていくようです。

ちなみに、
android:layout_weight=”1″
がないとこうなります。

Androidアプリ講座オープン
副業大学にAndroidアプリ作成講座がオープン。
アフィリエイトやドロップシッピングも学べるお得な大学。

innc.japan-power.biz
カテゴリー: Android アプリ 関連 情報   パーマリンク