我希望我的Android应用程序只能在竖屏模式下运行。

10 浏览
0 Comments

我希望我的Android应用程序只能在竖屏模式下运行。

我希望我的安卓应用只能在竖屏模式下运行。

我该如何做到这一点?

0
0 Comments

我想让我的Android应用程序只能在竖屏模式下运行,该怎么办?

在Android开发中,有两种方法可以实现这个需求。

第一种方法是在清单文件(Manifest File)中为每个Activity添加android:screenOrientation="portrait"属性。

第二种方法是在每个Java文件中添加this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);代码。

第二种方法的副作用是,当应用程序在竖屏模式下启动时,它会重新启动你的Activity。

0
0 Comments

我想让我的Android应用程序只在竖屏模式下运行

在清单文件中,为所有的活动设置以下属性:

<activity android:name=".YourActivity"
    android:configChanges="orientation"
    android:screenOrientation="portrait"/>

让我解释一下:

  • 通过android:configChanges="orientation",你告诉Android你将负责处理屏幕方向的改变。
  • 通过android:screenOrientation="portrait",你设置了默认的屏幕方向为竖屏模式。

我们能不能为应用程序中的所有活动设置一个“全局”的屏幕方向呢?看起来我们没有选择,只能将“portrait”属性复制/粘贴到每个活动中...

只需要设置android:screenOrientation="portrait",就可以实现这个效果。

你实际上可以创建一个基类PortraitActivity,然后在onCreate方法中调用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT),所有继承该基类的活动都不会旋转。

那么当不同的活动想要继承不同的Activity子类时,比如一个活动继承自ListActivity,而其他活动仅继承自Activity,该怎么办呢?

是的,这是个好问题。但这并不是我的错误,这只是Java不支持多重继承:)

最好的做法是同时设置android:configChanges吗?

将这个设置添加到应用程序的主题中怎么样?

请注意,在多窗口模式下,android:screenOrientation会被忽略 developer.android.com/guide/topics/manifest/…

tools:ignore="LockedOrientationActivity" - 将此设置添加到Manifest.xml中以禁用警告信息。

0
0 Comments

我想让我的Android应用程序只能在纵向模式下运行,该问题的原因是没有设置应用程序的屏幕方向。解决方法是在Android清单文件中为<activity>元素添加属性android:screenOrientation="portrait"。在Android Studio 3.6及以上版本,还可以使用android:screenOrientation="fullSensor"android:screenOrientation="unspecified"。其中,fullSensor表示无论您是否关闭了旋转功能,它都会根据您移动手机来改变方向;unspecified表示如果您关闭了旋转功能,它将保持在当前方向,如果没有关闭,则会根据您移动手机来改变方向。

0