レイアウト
■レイアウトの基本
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);
Android開発 虎の巻