私のアプリケーションは、ランドスケープモードでのみ動作するように強制されています(編集:つまり、アクティビティはandroid:screenOrientation="landscape"
マニフェストにあります)。したがって、layout-landフォルダーにレイアウトがあり、デフォルトのポートレートフォルダーに同じ名前のリソースがありません。
時々、デバイスを数分間放っておいて、それを起こすと、setContentView
メソッドに「リソースが見つかりません」と表示されて、強制的に閉じられます。
状況によっては、Androidは、横向きのレイアウトのみが必要であることに気付く前に、縦向きのリソースを探していると思います。デフォルトのポートレートフォルダにレイアウトリソースを含めることは常に必須ですか?
編集2:アクティビティをポートレートモードで強制的に表示する方法を尋ねていません。対応するポートレートリソースがないことが潜在的な安定性の問題であるかどうかを尋ねています。
こんにちは、お読みください
レイアウト:一般的なレイアウトがすべてです
layout-port:縦向きに変更する必要があるウィジェットのレイアウトがすべてです
レイアウトランド:横向きに変更する必要があるウィジェットのレイアウトがすべてです
いずれにせよ、横向き/縦向きモードの場合。Androidは、最初にそれぞれ-portraitまたは-landscapeディレクトリでレイアウトファイルを検索します。見つからない場合は、デフォルトのレイアウトディレクトリに戻って検索します。
ランドスケープモードのみを使用することがわかっている場合は、layout-landフォルダーにレイアウトを配置する必要はありません。デフォルトのレイアウトフォルダを使用するだけです
あなたができることはあなたの場合です
androidmanifest.xmlでデフォルトの向きを設定できます
<activity android:name=".YoursActivity" android:screenOrientation="landscape" "/>
手段によってあなたは書くことができて行くことができます
<activity
android:name=".YoursActivity"
android:label="@string/app_name"
android:screenOrientation="landscapre" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加