You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不旋转/重建Activity的情况下检测屏幕旋转?

需求与问题

我希望能够检测手机处于横屏还是竖屏模式,但不希望我的Activity及所有按钮随之旋转。

已尝试的方案及问题

  • 以下代码可以检测旋转,但同时也会使屏幕旋转:
Display display = getWindowManager().getDefaultDisplay();
int rotation = display.getRotation();

rotVal.setText("Rotation: " + rotation);
  • 我尝试在MainActivity中通过以下代码将Activity锁定为竖屏模式,但此时rotation值不再变化:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  • 我还尝试在清单文件中设置android:screenOrientation="portrait",但rotVal始终为0。

  • 曾参考过两个相关方案,但都不符合需求:

    • 某方案包含旋转动画,这并非我想要的——我希望即使手机处于横屏模式,屏幕也保持原样,不旋转、无动画等。
    • 另一方案无效,旋转手机时rotVal仍为0。

疑问

是否存在一种无需旋转/重建布局即可检测方向的方法?

内容的提问来源于stack exchange,提问作者motty_here

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:10:23