我创建了一个虚拟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()
时,效果很好。
答案 0 :(得分:1)
检查您是否在Manifest文件中为该活动设置了任何android:screenOrientation。如果是,请将其删除并检查。
如果不起作用,它似乎是在android问题论坛中报告的错误。查看here
答案 1 :(得分:1)
首先关闭数字锁定,然后按 7 或按 9 并检查模拟器的方向是否已更改,其他方式更改模拟器的方向是按 ctrl + F12
答案 2 :(得分:1)
您可能会发现,就像我所做的那样,方向更改实际上已经实现,但屏幕仅比您预期的更改了几秒钟。换句话说,答案可能是“耐心的蚱蜢”。
答案 3 :(得分:1)
答案 4 :(得分:0)
我最近碰到了这个,这里提供的答案没有解决它。但是我找到了这篇文章:
Android emulator not rotating to landscape
其中提到某些模拟器目标中存在错误(例如我使用的是19个。)
只需将目标更改为17即可使旋转开始正常工作。
答案 5 :(得分:0)
首先需要检查您正在设置的清单文件 android:screenOrientation="portrait"
如果是,则将其删除。它对我有用。