レイアウトとは?
状態:-
閲覧数:3,858
投稿日:2013-04-12
更新日:2018-08-30
「画面を構成する要素 View」の一部
機能
・ウィジェット(Widget)と呼ばれるボタン(Button)や画像(ImageView)などの機能を並べ、位置関係を決定
レイアウト定義ファイル
・「/res/layout/」フォルダ内に配置
レイアウトクラスの構成
大前提
・「レイアウト」クラスという単独クラスは存在しない
・この界隈の頂点はViewクラス
クラス構成
・レイアウト関連主要クラスの階層一覧
Viewクラス
├ TextViewクラス
└ ViewGroupクラス
├ RelativeLayoutクラス
├ FrameLayoutクラス
├ AbsoluteLayoutクラス
└ LinearLayoutクラス
└ TableLayoutクラス
├ TextViewクラス
└ ViewGroupクラス
├ RelativeLayoutクラス
├ FrameLayoutクラス
├ AbsoluteLayoutクラス
└ LinearLayoutクラス
└ TableLayoutクラス
ViewGroup.LayoutParamsクラス
└ ViewGroup.MarginLayoutParamsクラス
├ LinearLayout.LayoutParamsクラス
├ RelativeLayout.LayoutParamsクラス
└ FrameLayout.LayoutParamsクラス
※ViewGroup.LayoutParamsクラスは、ViewGroupクラスの中に記述したクラス(=ネストしたクラス(static なメンバクラス))└ ViewGroup.MarginLayoutParamsクラス
├ LinearLayout.LayoutParamsクラス
├ RelativeLayout.LayoutParamsクラス
└ FrameLayout.LayoutParamsクラス
※RelativeLayout.LayoutParamsクラス / FrameLayout.LayoutParamsクラス は、android.widgetパッケージに属している
レイアウトとビューの関係
処理の流れ
1.Layou設定
・「画面を表すActivityクラス」のsetContentView()メソッドを呼び出して、レイアウトを設定する
LinearLayout ll = new LinearLayout(this);
setContentView(ll);
setContentView(ll);
2.View追加
・レイアウトを作成したら、画面上にView(Androidの部品)を配置していく
・TextView追加
TextView tv = new TextView(this);
ll.addView(tv); // ビュー追加
ll.addView(tv); // ビュー追加
・ボタン追加
Button bt = new Button(this);
ll.addView(bt); // ビュー追加
ll.addView(bt); // ビュー追加
・P19 クラスからオブジェクトを作成する / Sample2.java / Javaを学ぶ
階層関係
┏View
┣Layout
┗Activity
┣Layout
┗Activity