我刚刚学会了在名为“layout-land”的不同文件夹中使用重复布局来更改布局。
我只是简单地复制了原始布局中的整个代码,并且小心不要拼写错误。在我的清单中没有任何迹象表明我想自己处理方向代码。
但是,当我运行应用程序并从默认纵向更改为横向模式时,布局拒绝更改为'layout-land'文件夹中具有相同名称的布局,该文件夹具有不同的颜色背景当然。顺便说一句,我正在使用一个模拟器,用于平台4.4。还请注意我是初学者。
如果有人可以提出可能出现的问题,我会很感激!
清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MB2Assignment.assignment"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.MB2Assignment.assignment.Menu"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.Counter"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.COUNTER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.Settings"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.prefs"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.PREFS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.about"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="android.intent.action.ABOUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.Graphics"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.GRAPHICS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.GFXSurface"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.GRAPHICSSURFACE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MB2Assignment.assignment.Sound"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SOUND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
layout-xml file
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:configChanges="orientation|keyboardHidden"
android:layout_width="match_parent"
android:background="@drawable/blue"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:gravity="center_horizontal"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button_MenuToCounter"
android:layout_marginTop="25dp"
android:text="MENU"
android:textSize="30dp" />
<Button
android:id="@+id/button_MenuToCounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="Counter" />
<Button
android:id="@+id/button_MenuToGraphics"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button_MenuToCounter"
android:layout_centerHorizontal="true"
android:text="The Falling Man" />
<Button
android:id="@+id/button_MenuToGraphics2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button_MenuToGraphics"
android:layout_centerHorizontal="true"
android:text="The Following Man" />
<ImageButton
android:id="@+id/imagebutton_settings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button_MenuToGraphics2"
android:layout_centerHorizontal="true"
android:src="@drawable/settings" />
</RelativeLayout>
答案 0 :(得分:1)
确保您的清单中没有类似的内容,更具体地说是您要展示/控制的活动
android:screenOrientation="portrait"
如果有,请将其删除。
还要确保您的xml文件具有相同的名称
希望它有所帮助。
答案 1 :(得分:1)
它实际上是Android 4.4模拟器中的一个错误。您可以跟踪已经提交的有关方向更改错误的问题... https://code.google.com/p/android/issues/detail?id=61671
答案 2 :(得分:0)
android:configChanges="orientation|keyboardHidden"
不应该在RelativeLayout属性中