交通警察スマートオフィス ベースレイアウト

2

「BaseView」はLinearLayoutで各子画面の親クラスとして主画面を三部分(title,body,toolbar)にしります。初期化時各子画面が一緒に実例化して、タイトルは子画面によって変える。

LinearLayoutクラスはViewGroupクラスのサブクラスとなっています。ViewGroupクラスは特別なクラスで他のViewクラスのオブジェクトを子として含むことができます。 public void addView(View child, LayoutParams params) 1番目の引数には追加したい子のビュー、2番目の引数には子ビューの表示レイアウトを表す LayoutParamsクラスのオブジェクト (android.widget.LinearLayout.LayoutParamsクラスのオブジェクト)を指定します。

具体的には次のように記述します。 body.addView(currentActivity.getLayoutInflater().inflate(bodyContentId,null),new LinearLayout.LayoutParams(body.getLayoutParams().width,body.getLayoutParams().height));

上記の方法によって、親クラスのdisplay()をお呼びで、画面の遷移が実現します。

public void display(){
currentActivity.setContentView(skin);
currentActivity.currentView = this;
}

コメントをどうぞ