回答:
layout-land
ディレクトリを作成し、レイアウトXMLファイルの横長バージョンをそのディレクトリに配置します。
向きと解像度に応じて名前が異なる別のフォルダーに配置するだけで、デバイスが画面設定に適したものを自動的に選択します
詳細はこちら:
http://developer.android.com/guide/practices/screens_support.html
「画面サイズと密度のリソースディレクトリ修飾子」の下
マウス愛好家のために!「resources」フォルダーを右クリックしてAdd new resource file
、「Available qualifiers」から次を選択しますorientation
。
ただし、サブフォルダー「layout-land」を次のように追加して、手動で行うこともできます。
「Your-Project-Directory \ app \ src \ main \ res」
それ以降、このサブフォルダーの下にあるすべてのlayout.xmlファイルは、自動的に横モードでのみ機能します。
ポートレートモードの場合は「layout-port」を使用します。
ただのリマインダー:
マニフェストファイルでアクティビティの属性を定義している場合は、削除orientation
しandroid:configChanges
ますxml
。
android:configChanges="orientation|screenLayout|screenSize"
Androidの最新バージョンで最も簡単な方法は、XMLではなく(テキストではなく)デザインモードにすることだと思います。
次に、メニューからオプションを選択します-ランドスケープバリエーションの作成。これにより、数秒で手間のかからないランドスケープxmlが作成されます。最新のAndroid Studioバージョンでは、すぐに横向きのビューを作成できます。
これがうまくいくことを願っています。
下の最後の行は、横長と最小幅(600dp)画面の2つの数量詞を適用する例です。600dpを必要なものに更新します。
res/layout/main_activity.xml # For handsets
res/layout-land/main_activity.xml # For handsets in landscape
res/layout-sw600dp/main_activity.xml # For 7” tablets
res/layout-sw600dp-land/main_activity.xml # For 7” tablets in landscape
上記は、寸法にも適用されます
res/values/dimens.xml # For handsets
res/values-land/dimens.xml # For handsets in landscape
res/values-sw600dp/dimens.xml # For 7” tablets
res/values-sw600dp-land/dimens.xml # For 7” tablets in landscape
有用なデバイスメトリック:https : //material.io/tools/devices/
またはこれを使用してください:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Add your UI elements inside the inner most linear layout -->
</LinearLayout>
</ScrollView>
Android Studio 3.4.1を使用すると、layout-land
フォルダーが作成されなくなります。フォルダを作成し、2つのレイアウトファイルを1つにまとめます。