Android模拟器 - 屏幕方向无法正常工作

时间:2012-08-27 13:14:13

标签: android android-emulator screen-orientation avd

我创建了一个虚拟Android设备,480x800,运行它,因为我已经找到了如何更改屏幕orientation(纵向横向, CTRL + F11 / CTRL + F12 / KP7 / KP9 ),我用这些键来改变orientation

但是当我尝试其中一个键时,虚拟屏幕会旋转90度,但方向不会改变。因此,按钮垂直放置在屏幕上,所有文本也是如此。就像旋转90度的图片一样。

如何让虚拟学位实际切换到其他布局文件(/res/layout-land/activity_entry.xml)? Eclipse的图形查看器可以正确地在landscape/portrait之间切换。

修改
我在onCreateOptionsMenu(Menu menu)下的活动中添加了此部分 方法,但应用程序无法识别屏幕方向更改:

@Override
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig);
    Context context = getApplicationContext();
    CharSequence text = "Orientation changed";
    int duration = Toast.LENGTH_SHORT;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
}

编辑2
当我从this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)方法中调用onCreate()时,效果很好。

6 个答案:

答案 0 :(得分:1)

检查您是否在Manifest文件中为该活动设置了任何android:screenOrientation。如果是,请将其删除并检查。

如果不起作用,它似乎是在android问题论坛中报告的错误。查看here

答案 1 :(得分:1)

首先关闭数字锁定,然后按 7 或按 9 并检查模拟器的方向是否已更改,其他方式更改模拟器的方向是按 ctrl + F12

答案 2 :(得分:1)

您可能会发现,就像我所做的那样,方向更改实际上已经实现,但屏幕仅比您预期的更改了几秒钟。换句话说,答案可能是“耐心的蚱蜢”。

答案 3 :(得分:1)

在“设置”标签中检查是否启用了“自动旋转”,如果已将其关闭,则将其打开,然后每当您单击“旋转”按钮时,它都会自行旋转

enter image description here

答案 4 :(得分:0)

我最近碰到了这个,这里提供的答案没有解决它。但是我找到了这篇文章:

Android emulator not rotating to landscape

其中提到某些模拟器目标中存在错误(例如我使用的是19个。)

只需将目标更改为17即可使旋转开始正常工作。

答案 5 :(得分:0)

首先需要检查您正在设置的清单文件 android:screenOrientation="portrait" 如果是,则将其删除。它对我有用。