2

さまざまな 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.

御時間ありがとうございます!

4

0 に答える 0