画面サイズによって動作が異なるAndroid 4+をターゲットとするアプリを開発しています。詳細:
- 小さい/中程度の画面では、向きは強制的に縦向きになり、アクティビティを切り替えることでアプリが実行されます。
- ラージ/特大スクリーンでは、向きはランドスケープで強制され、スクリーンは 2 つに分割され、メニュー フラグメントが左側に、他のフラグメントが右側に表示されます。
問題は、大画面として検出される AVD を作成できないことです。
解像度 640x1024、密度 240 の AVD でテストしたところ、このコードは最初の IF に入りません。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// forcing layout to landscape if display is LARGE or more
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE ||
(getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
dualPane = true;
}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
dualPane = false;
}
}
何か助けはありますか?