5

我创建了一个虚拟 Android 设备,480x800运行它,并且我已经找到了如何更改屏幕orientation(纵向-横向,/// )CTRL+F11,我使用这些键来更改.CTRL+F12KP7KP9orientation

但是当我尝试其中一个键时,虚拟屏幕旋转了 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()方法中调用时,它工作得很好。

4

6 回答 6

3

如果启用了自动旋转,请检查设置选项卡,如果它已关闭,请将其打开,然后每当您单击旋转按钮时,它都会自行旋转

在此处输入图像描述

于 2020-01-10T07:35:06.373 回答
2

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

如果不工作,这似乎是 android 问题论坛中报告的错误。在这里检查

于 2012-08-27T13:18:00.613 回答
1

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

于 2012-08-27T13:22:22.270 回答
1

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

于 2013-12-04T19:47:54.717 回答
0

我最近遇到了这个问题,这里提供的答案并没有解决它。但是我发现了这篇文章:

Android模拟器不旋转到横向

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

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

于 2015-01-04T00:11:31.370 回答
0

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

于 2021-08-09T13:36:20.427 回答