【问题标题】:Android Emulator - Screen orientation does not work properlyAndroid 模拟器 - 屏幕方向无法正常工作
【发布时间】:2012-08-21 23:35:06
【问题描述】:

我创建了一个虚拟 Android 设备 480x800,运行它,并且我已经找到了如何更改屏幕 orientation (portrait-landscape, 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
当我从onCreate() 方法中调用this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) 时,它运行良好。

【问题讨论】:

  • 我觉得是Ctrl+F11和Ctrl+F12,试试这个
  • Ctrl+F12,显然会起作用。 stackoverflow.com/questions/1991318/…
  • 如果您在 android 清单文件中的活动中设置了 android:screenOrientation,请删除它

标签: android android-emulator screen-orientation avd


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      Android emulator not rotating to landscape

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          如果无法正常工作,这似乎是 android 问题论坛中报告的错误。检查here

          【讨论】:

          • 但是一旦你删除它,活动将被销毁并在方向改变时重新创建。要使活动在不重新创建的情况下处理更改,请在清单中使用 android:configChanges 属性。
          • 我没有那套。对于任何活动。另外,我确实尝试过 KP7/KP9 和 CTRL+11/12,但无济于事。
          • 关闭数字锁定后尝试点击7。
          【解决方案6】:

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

          【讨论】:

          • KP9 和 KP7 都将 AVD 旋转 90 度,但屏幕没有重新排列,一切都只是旋转了 90 度,就像图像一样
          • 为什么这被认为是问题的答案?按下 CTRL F12 或 Num Pad 7 或 Num Pad 9 或...都没有关系。模拟器程序旋转,但应用程序没有收到通知。
          • 我已经在有或没有谷歌 API 的多个版本的 Android 上使用最简单的 hello world 应用程序进行了尝试。启用或不启用硬件键盘。有或有快照。使用或不使用 GPU。使用 Eclipse 或 Android 工作室。它只是行不通! (很久以前是这样的。)
          猜你喜欢
          • 2020-10-26
          • 2015-09-27
          • 2016-06-04
          • 1970-01-01
          • 2014-01-06
          • 1970-01-01
          • 2018-01-22
          • 1970-01-01
          • 2020-08-14
          相关资源
          最近更新 更多