Androidは現在の向きでレイアウトを開始し、その後回転を無効にします
-
29-10-2019 - |
質問
ランドスケープ/ポートレートで活動を利用することを可能にしたいです。アクティビティは現在の向きのレイアウトから始まります(それは活動を開始する前)。その後、それに固執し、方向転換に反応しないことがあります。
私はを入れよう
android:configChanges="orientation"
.
活動の明示で、を上書きする
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}
.
何もしない(スーパーコールもコメントしようとしましたが、これは例外につながります) しかし、これは回転変化を無効にする効果がありません - 変更は処理され、レイアウトが再構築され、それは正しいものを使用しません。
と私は使えない
android:screenOrientation
.
常に1つのモードを指定する必要があるようです、そしてそれは私が必要なものではありません。 そしてとにかく、そこに何かを指定した場合、回転時に活動は再構築されます。 で試した
android:screenOrientation="nosensor"
.
それは何もしません
ここではコード付きの現在の向きのロックがあります http://www.samcoles.co.uk/モバイル/アンドロイドロックアンドロック解除スクリーンオリエンテーション/
しかし、XMLの向きを指定するのと同じ効果を達成します(レイアウトを保持しますが、アクティビティを再構築します)。それは私が欲しいもの(開始からの向きを保ちます)に近いビットですが、活動を再構築し、私はそれをまったく反応したくないです。
解決
Android:ConfigChanges="Orientation"はエミュレータでは全く機能しませんが、デバイスではうまく機能します。
他のヒント
お試しください ジェネラコディセタグプレ
これをonCreateに追加 ジェネラコディセタグプレ
所属していません StackOverflow