方法は、回転のタイミングで呼ばれるActivityのonResumeのオーバーライドです。
@Override
public void onResume() {
super.onResume();
//画面のサイズを取得
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
int width = disp.getWidth();
//表示したり消したりするためのマネージャーを取得。
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
//表示したり消したりするフラグメントを取得。
Fragment mFragment1 = fm.findFragmentById(R.id.number_list);
//画面の幅が900pxより小さかったら、消します。それ以外なら表示します。
if (mFragment1 != null) {
if (width < 900) {
ft.hide(mFragment1);
} else
ft.show(mFragment1);
}
ft.commit();
}
Galaxy Nexusで実行した結果ですが、横向きの時は画面幅が900px超えるので「1,2,3・・」と表示されるListFragmentが表示されます。
縦向きの時は画面幅は900pxを下回るのでこのListViewは表示されません。
縦向きの時は画面幅は900pxを下回るのでこのListViewは表示されません。


No comments:
Post a Comment