翻转模拟器不会将布局更改为 layout-land 中的布局
Posted
技术标签:
【中文标题】翻转模拟器不会将布局更改为 layout-land 中的布局【英文标题】:Flipping the emulator does not change the layout to the one present in layout-land 【发布时间】:2013-12-17 07:43:08 【问题描述】:我的活动.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:textSize="24sp"
android:text="@string/first_last1" />
<ImageView
android:id="@+id/imageView1"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_below="@+id/textView1"
android:layout_marginLeft="86dp"
android:layout_marginTop="15dp"
android:contentDescription="@string/first_last1"
android:src="@drawable/johnvonneumann" />
<ScrollView
android:layout_
android:layout_
android:layout_below="@+id/imageView1" >
<TextView
android:id="@+id/textView2"
android:layout_
android:layout_
android:paddingTop="16dp"
android:text="@string/about_scientist1"
android:textSize="16sp"/>
</ScrollView>
</RelativeLayout>
我的土地\activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView21"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:textSize="24sp"
android:text="@string/first_last2" />
<ImageView
android:id="@+id/imageView21"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView21"
android:adjustViewBounds="true"
android:contentDescription="@string/first_last2"
android:scaleType="fitXY"
android:src="@drawable/bruceschneier" />
<ScrollView
android:layout_below="@+id/textView21"
android:layout_
android:layout_
android:layout_toRightOf="@+id/imageView21" >
<TextView
android:id="@+id/textView2"
android:layout_
android:layout_
android:paddingLeft="16dp"
android:text="@string/about_scientist2"
android:textSize="16sp"/>
</ScrollView>
</RelativeLayout>
清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.assignment.scientists"
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="edu.assignment.scientists.MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
main_activity.java
package edu.assignment.scientists;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
public boolean onCreateOptionsMenu(Menu menu)
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
当我使用 ctrl-F11 翻转模拟器时,方向会改变,但布局不会。 它仍然只指向布局模式。 请帮忙。
【问题讨论】:
尝试在 Mainfest 中删除这一行`android:configChanges="orientation|keyboardHidden"` 我试过这个但没有帮助。 您能否确认您的横向 xml 的存储位置?在 res/land 文件夹中, res/layout/land 还是 res/layout-land ?它应该在最后一个。 仅在 res/layout-land 内。 coursera 学生不要浪费你的时间,这是模拟器中的一个错误,谷歌不会修复它:(code.google.com/p/android/issues/detail?id=13189 【参考方案1】:我有同样的问题。正如 Amir Ismail 所说,4.4 模拟器中有一个错误。我下载了 4.3 模拟器并运行了完全相同的代码,并且运行良好。
【讨论】:
以上是关于翻转模拟器不会将布局更改为 layout-land 中的布局的主要内容,如果未能解决你的问题,请参考以下文章