さまざまな API レベルに対して正しいランドスケープ モードを設定しようとしていますが、問題が発生しました。
マニフェスト ファイルでアクティビティの向きを横向きに設定し、アクティビティ コードで API レベルが大きいかどうかを評価し、API 8 より大きい場合は sensorLandscape に設定します。次のようにします。
public static final int ANDROID_BUILD_GINGERBREAD = 9;
public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= ANDROID_BUILD_GINGERBREAD) {
setRequestedOrientation(SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
setContentView(R.layout.results);
}
ICS、JB、GB では問題なく動作しますが、Honeycomb タブレットでsetContentView
はポートレート モードでクラッシュします。横向きでも大丈夫です... :S
レイアウト ファイルは次のとおりです。
layout:
main.xml
layout-land:
main.xml
results.xml
API レベルがサポートされているはずなのに、HC タブレットで動作しない理由がわかりませんsensorLandscape.
御時間ありがとうございます!