■
AndroidのレイアウトにLinearLayoutを使用して思うどおりに配置できたのでメモします。
画面の四隅に配置する
LinearLayoutを2階層にして実現しました。
linearLayout10をhorizontalにして子を3つ配置します
画像を左右に貼り付けるため真ん中にダミーのTextViewを入れて、layout_weight="1"として空白を埋めました。
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/linearLayout10" android:orientation="horizontal" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="fill_parent"> <ImageView android:id="@+id/ImageView11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="top|left"/> <TextView android:text="TextView12" android:id="@+id/TextView12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center|top" android:gravity="center"/> <ImageView android:id="@+id/ImageView13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="top|right"/> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout20" android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" android:layout_gravity="center_horizontal"> <ImageView android:id="@+id/ImageView21" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="bottom|right"/> <TextView android:text="TextView22" android:id="@+id/TextView22" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="bottom|center" android:gravity="center"/> <ImageView android:id="@+id/ImageView23" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="bottom|left"/> </LinearLayout> </LinearLayout>
十字の端に配置
子が水平方向に1つだけの場合はorientation="vertical"で配置します。
bottom|center"に配置したいImageView62は下に貼り付けるため、ImageView61で
押し下げました。
main2.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/LinearLayout40" android:layout_width="fill_parent" android:orientation="vertical" android:layout_weight="1" android:layout_height="fill_parent"> <ImageView android:id="@+id/ImageView41" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="top|center"/> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout50" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_weight="1" android:layout_height="fill_parent"> <ImageView android:id="@+id/ImageView51" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="left|center_vertical"/> <ImageView android:id="@+id/ImageView52" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/icon" android:layout_gravity="center" /> <ImageView android:id="@+id/ImageView53" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="right|center_vertical"/> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout60" android:layout_width="fill_parent" android:layout_weight="1" android:layout_height="fill_parent" android:orientation="vertical"> <ImageView android:id="@+id/ImageView61" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/icon" android:layout_gravity="top|center"/> <ImageView android:id="@+id/ImageView62" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:background="@drawable/icon" android:layout_gravity="bottom|center"/> </LinearLayout> </LinearLayout>
リニアレイアウトは順番に配置するので左右に振るときや下に押し付けるときは
ダミーの子が必要かと思います。