私のアプリケーションは、次のロジックを使用して、デュアルペインまたはシングルペインで表示するかどうかを決定することになっています:
- すべての画面サイズで、SINGLE-PANE の縦表示の場合
- SMALL および NORMAL 画面サイズの場合、SINGLE-PANE で横表示の場合
- LARGE および XLARGE 画面サイズの場合、DUAL-PANE で横表示の場合
私は Android 2.3.3 SDK 向けに開発しているため、Android 3.0 SDK の優れた機能はここでは適用できません。以下で開発した関数は、すべての画面サイズと向きの組み合わせに対して常に SINGLE-PANE を返します。ここで何がうまくいかないのでしょうか?
/**
* Determine if a dual pane is appropriate.
*
* @param null
* @return boolean
*/
public boolean isDualPane() {
boolean dualPane = false;
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {
dualPane = true;
}
}
Log.d("ORIANTATION", (dualPane) ? "DUAL PANE" : "SINGLE PANE");
return dualPane;
}