Android:当设备改变其方向时,应用程序不会寻求布局

时间:2014-04-21 15:18:17

标签: android android-layout android-studio android-orientation

我想使用layout-land子文件夹来调整我的视图到横向模式。所以,我已经创建了一个子文件夹" layout-land",将我的视图复制到其中并调整布局。所以我有这个:

enter image description here

我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.mpaa.cameratest.app" >

<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.mycompany.myapp.basic"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_basic"
        android:theme="@style/FullscreenTheme" >
    </activity>
    <activity
        android:name="com.mycompany.myapp.loginActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_login"
        android:theme="@style/FullscreenTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

但是当我启动应用程序并旋转设备时,它始终显示纵向视图(布局文件夹根目录下的视图)。似乎android不会在布局中寻求视图。屏幕也会旋转,但视图仍然相同。

所以,我试图创建一个&#34; layout-port&#34;文件夹并从根布局文件夹中删除所有视图,但应用程序在编译时崩溃,因为R.layout.activity_basic和R.layout.activity_login未定义。

我会错过什么吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

好的,我找到了解决方案。如果我想管理不同的观点,我必须改变

android:configChanges="orientation|keyboardHidden|screenSize"

android:configChanges="|keyboardHidden|screenSize"

我从configChanges中删除“orientation”并使用wright布局文件夹结构,它工作正常!

答案 1 :(得分:3)

layout-land文件夹必须是res的子文件夹,而不是布局文件夹的子文件夹。将您现在拥有的文件夹移动到res /,您的应用程序应显示正确的布局。