1

私のアプリでは、電話では向きを縦向きに固定し、タブレットでは縦向きと横向きを許可する必要があります。私はここで答えを見てきましたが、xmlだけを使って同じことをしたいと思っています。マニフェストに次の行を追加しようとしました

<activity
android:theme="@style/Theme.ActionBarLargeTitle"
android:name="com.work.activities.MyActivity"
android:screenOrientation="@integer/orientation_supported"
android:exported = "false"/>

res/values/dimens.xml に次の行を追加しました (1 はポートレートに対応)

<integer name="orientation_supported">1</integer>

追加した別のファイル res/values-sw600dp/dimens.xml を作成しました (-1 は未指定に対応します)。

<integer name="orientation_supported">-1</integer>

電話では、このコードは正常に機能し、アクティビティは常に縦向きモードになります。Nexus 10 インチ タブレット (幅 800 dp) ではこれが失敗し、ポートレート モードで修正されます。このアプローチに問題はありますか?

編集: さまざまな値を確認しましたが、すべての場合 (すべてのデバイスで) res/values/dimens.xml の値が取得されます。この値が欠落している場合、アプリのインストール時に「インストール エラー: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION」というエラーが発生します。

4

2 に答える 2