0

getrotation関数を使用して、アクティビティの作成時に画面の最初の回転を検出しています。しかし、この関数を返すものをログアウトしていたとき、P1000で、回転= 1または3の場合、これはタブレットが横向きであることを意味すると述べました。しかし、私の10.1タブでは、回転= 0または2の場合、これはタブレットが横向きであることを意味します。これにより、背景画像の使用法の置き換えで問題が発生しています。これは私のコードです:

HomeBackground = (ImageView) findViewById(R.id.home_background);
    Display display = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    int rotation = display.getRotation();

        if (rotation == 1 || rotation == 3) {
        HomeBackground.setBackgroundResource(R.drawable.home_bg_landscape);
    } else {
        HomeBackground.setBackgroundResource(R.drawable.home_bg_portrait);
    }

では、別の方法を使用して画面の初期回転を検出するための解決策は何ですか?または私のバグは何ですか?ありがとうございました。

4

1 に答える 1

3

のドキュメントからDisplay.getRotation():

画面の「自然な」方向からの回転を返します。

Galaxy Tab 10.1 の自然な向きは横向きですが、他のデバイスでは縦向きだと思います。

この回答は、デフォルトの向きを決定するのに役立つ場合があります

于 2012-10-18T11:30:40.870 に答える