Androidについて質問があります。メインのxmlレイアウトファイルがあり、(たとえば)FrameLayoutを使用してプレースホルダーを定義するとします。また、コンテンツを表示する他の2つのxmlレイアウトファイルがあると仮定します。したがって、私がやりたいのは、2つのレイアウトのうちの1つを動的かつプログラム的にプレースホルダーに挿入することです。Activitis、Fragments、ViewFlipperなどの概念が存在することは知っています。しかし、次のようなことを行うのは快適だと思います。
public class MainActivity extends Activity {
private FrameLayout placeHolder;
private View view1;
private View view2;
private RelativeLayout canvasPlaceHolder;
private PuzzleCanvas canvas;
private TextView infoLabel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// init gui
setContentView(R.layout.activity_main);
// Load layouts from xml
LayoutInflater factory = getLayoutInflater();
view1 = factory.inflate(R.layout.view1, null);
view2 = factory.inflate(R.layout.view2, null);
}
}
たとえば、次のようなことを行う画面上のボタンを使用します。
@Override
public void onClick(View v) {
placeHolder.removeView(view1);
placeHolder.addView(view2);
}
たとえば、通常のコンテンツ(view1)の代わりにloadingAnimation(view2)を表示して、xmlで快適で独立したビューの両方を定義できます。
LayoutInflaterの使用は称賛に値しますか?パフォーマンスとメモリ管理についてはどうですか?あなたはこのことについてどう思いますか?それはAndroidの一般的な方法ですか?