0

電話 (縦向き) と 10 インチのタブレット (横向き) で正常に動作する Android アプリを作成しました。しかし、問題は 7 インチ タブレットです。ポートレート モードで開きますが、タブレットの UI を使用します。横向きモードで 7 インチのアプリを開きたい..どのようにコードを介して可能でしょうか..? 任意の提案をいただければ幸いです。前もって感謝します。

マニフェストファイルの宣言 ---

 <activity
        android:name=".MainActivityTheme"
        android:label="@string/app_name"
        android:screenOrientation="nosensor" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
4

3 に答える 3

2

/res ディレクトリにフォルダーを作成し、layout-xlarge-land別のフォルダーを として作成しlayout-large-land、両方のフォルダーに同じファイルを保持すれば完了です。

これらは、ファイルを配置する推奨フォルダです。これは完全なリストではありませんが、多くのファイルを追加できます。

layout-xlarge-land  landscape for 10 inch tablets and 10.1
layout-xlarge-port portrait for 10 inch tablets and 10.1
layout-large-land landscape for 7 inch tablets and 7.1
layout-large-port portrait for 7 inch tablets and 7.1

レイアウト ファイルを適切に使用するには、これらのフォルダー間でレイアウト ファイルを移動してください。

于 2013-10-21T11:17:26.170 に答える
1

コメントを残したほうがいいのですが、まだ十分な評判が得られていません。
layout-land-large だけでなく、layout-land ディレクトリに何らかのレイアウトを定義する必要があります。
お使いのタブレットには大画面ではない画面があり、大画面以外の横向きモード用のレイアウトがないようです。

于 2013-10-21T11:11:26.513 に答える
0

最後に、私は答えを得ました。マニフェストファイルを変更しました...のように

  <activity
        android:name=".MainActivityTheme"
        android:label="@string/app_name"
        android:configChanges="keyboardHidden|screenSize|orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

および動的に変更された向きモード...のように

if(isLargeScreen(this))
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

すべてのレイアウト ファイルを、layout-large-land ではなく、layout-large フォルダーに移動しました。助けてくれてありがとう。

于 2013-10-22T06:06:03.197 に答える