レイアウトを重ねて表示する


FrameLayoutを使うとレイアウトを重ねて表示することが出来ますが、addContentViewを使うことでも同じような動作が出来ます。
まず下に表示するレイアウトを記述したxmlファイルと、重ねて表示したいレイアウトを記述したxmlファイルを別々に用意します。今回は重ねて表示するxmlファイルを「dummy」としています。
onCreateでsetContentViewをした後に以下を記述します。

View view = this.getLayoutInflater().inflate(R.layout.dummy, null);
addContentView(view, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT));

2枚以上のレイアウトを重ねて表示したい時はレイアウトの数だけxmlファイルを用意し、同じ記述をしてください。表示順はaddContentViewしたレイアウトが上に表示され、2枚以上の場合は後に記述したレイアウトが上に表示されます。addContentViewする度に上からレイアウトをかぶせていく感じですね。

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です