方法は、回転のタイミングで呼ばれる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