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