の場合screenOrientation="portrait"
、次のようになります。
の場合screenOrientation="landscape"
、次のようになります。
中央のビューのみが回転し、他のビューは変更されていないことがわかります。
それはアンドロイドで可能ですか、そうであればそれを実装する方法は?
の場合screenOrientation="portrait"
、次のようになります。
の場合screenOrientation="landscape"
、次のようになります。
中央のビューのみが回転し、他のビューは変更されていないことがわかります。
それはアンドロイドで可能ですか、そうであればそれを実装する方法は?
参照: http://developer.android.com/guide/practices/screens_support.html
オリエンテーションに関する部分
例えば:
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/layout-xlarge-port/my_layout.xml // layout for extra large in portrait orientation
またはコードで。レイアウトを変更するためのコードを自分で入力します。
アクティビティ:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
}
}
マニフェスト:
<activity android:name=".MyActivity"
android:configChanges="orientation"/>
あなたの要件は、さまざまなレイアウトで正しい向きで画像を表示することであるため、代替リソースを提供するのではなく、画像を回転させることをお勧めします。つまり、すべてを回転させる必要があります (つまり、ボタン内のテキストを回転させる必要があります。他のコンポーネントについても同様です)。
向きの変化を検出し、イメージビューだけを回転させるだけで、少し手間が省けます。
次のようにアクティビティのマニフェストで指定することにより、向きの変更を制御できます。
<activity android:name=".MyActivity"
android:configChanges="orientation|screenSize"/>
その後、klaasvaak の提案に従って onConfigurationChanged(Configuration newConfig) メソッドをオーバーライドし、画像を回転させることができます。リンクをたどって、画像を回転する方法を確認できます。