レイアウト
■レイアウトの基本
res内のlayoutフォルダ内にxmlファイルを作成。 アクティビティ内でsetContentViewにて設定する。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
■LinearLayout
縦または横に並べる
属性
orientation | vertical(縦に並べる)horizontal (横に並べる) |
layout_width | 幅(match_parent:親と同じ、wrap_content:サイズ自動調整) |
layout_height | 幅(match_parent:親と同じ、wrap_content:サイズ自動調整) |
入れ子(LinearLayoutの中にLinearLayoutを入れる)にすることも出来る
内部のビューに設定する属性
android:layout_weight | 重み付け(サイズの優先順位) |
android:gravity | 位置設定(left,center,rightなど) |
■TableLayout
テーブル(表)のようなレイアウト。 TableLayout内にTableRow(一行)を配置。
属性
stretchColumns | 広げる列番号(0~) |
■RelativeLayout
相対的レイアウト
属性
layout_alignParentLeft | 親の左端に配置 |
layout_alignParentRight | 親の右端に配置 |
layout_alignParentTop | 親の上端に配置 |
layout_alignParentBottom | 親の下端に配置 |
layout_centerInParent | 親の中央に配置 |
layout_toLeftOf | 指定したViewの左側に配置 |
layout_toRightOf | 指定したViewの右側に配置 |
layout_above | 指定したViewの上側に配置 |
layout_below | 指定したViewの下側に配置 |
layout_alignLeft | 指定したViewの左位置 |
layout_alignRight | 指定したViewの右位置 |
layout_alignTop | 指定したViewの上位置 |
layout_alignBottom | 指定したViewの下位置 |
■FrameLayout
子ビューが左上に配置され、重ねられるレイアウト。
■ScrollView
スクロールバーを付けるビュー。この中にレイアウト部品を入れる。
■レイアウト、ビューの動的生成
LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); setContentView(linearLayout); TextView text1 = new TextView(this); text1.setText("Text"); linearLayout.addView(text1);
LinearLayout linearLayout = (LinearLayout)findViewById(R.id.images); ImageView iv = new ImageView(this); // 画像の設定など linearLayout.addView(iv);