我的应用程序只能在横向模式下工作(编辑:我的意思是,活动在清单中有android:screenOrientation="landscape"
。所以,我在layout-land文件夹中有布局,默认的肖像文件夹中没有相同的命名资源。
有时候,当我将设备单独放置几分钟并将其唤醒时,我会被迫关闭,在setContentView
方法中显示“找不到资源”。
我猜测在某些情况下,android会在注意到它只需要横向布局之前寻找一个肖像资源。在默认的纵向文件夹中是否必须具有布局资源?
编辑2:我不是问如何强制活动以纵向模式显示,我问是否相应的肖像资源是一个潜在的稳定性问题。答案 0 :(得分:2)
您可以在manifest.xml中设置默认的orietation
<activity android:name=".YourActivity" android:screenOrientation="landscape" "/>
您也可以按以下方式进行编程:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
但默认情况下,/res/layout
中的布局同时适用于人像和风景。
编辑:
此外,您应该在布局(dafault)和布局 - 土地文件夹中保留同名的资源(您将保留横向调整的布局)
答案 1 :(得分:1)
如果您知道仅使用横向模式,则不必将布局放在layout-land文件夹中。使用默认布局文件夹,并在清单文件中将方向设置为横向以用于所有活动。
android:screenOrientation="landscape"
答案 2 :(得分:1)
嗨,请阅读
布局:所有关于一般布局
layout-port:这是关于必须为纵向方向更改的小部件布局
layout-land:所有关于小部件的alayout都必须针对横向进行更改
如果您处于横向/纵向模式,则无论如何。 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>
答案 3 :(得分:0)
如果您只想在活动中使用横向模式,则需要为AndroidManifest.xml文件中的每个活动添加android:screenOrientation="landscape"
。例如:
<activity android:name="MainActivity" android:label="@string/app_name" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
之后无论您将布局存储在/layout-land
文件夹或简单/layout
文件夹
答案 4 :(得分:0)
仅将应用程序设置为横向。然后你不需要不同的布局文件夹,只需要一个。
在您的清单文件中
<activity
android:name=".ExampleActivity"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
另见