我有一个我想阻止旋转的活动,因为我正在启动一个AsyncTask,屏幕旋转使它重新启动。
有没有办法告诉这个活动“即使用户像疯了一样摇晃他的手机也不要旋转屏幕”?
我有一个我想阻止旋转的活动,因为我正在启动一个AsyncTask,屏幕旋转使它重新启动。
有没有办法告诉这个活动“即使用户像疯了一样摇晃他的手机也不要旋转屏幕”?
当前回答
如果您正在使用Android开发工具(ADT)和Eclipse 你可以到androidmanifest。xml ->应用选项卡->,然后选择你的活动。最后,选择你喜欢的方向。 您可以从众多选项中选择一个。
其他回答
您必须在manifest.xml文件中添加以下代码。 它不应该旋转的活动,在该活动中添加此元素
android:screenOrientation="portrait"
那么它就不会旋转。
Activity.java
@Override
public void onConfigurationChanged(Configuration newConfig) {
try {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port
}
} catch (Exception ex) {
}
AndroidManifest.xml
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="QRCodeActivity" android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
你可以试试这种方法
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.itclanbd.spaceusers">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Login_Activity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
防止屏幕旋转只需在清单中添加以下一行。
<activity
android:name=".YourActivity"
android:screenOrientation="portrait" />
这对我很有用。
在你的Manifest文件中,对于每个你想锁定屏幕旋转的Activity添加:如果你想锁定在水平模式:
<activity
...
...
android:screenOrientation="landscape">
或者如果你想锁定在垂直模式:
<activity
...
...
android:screenOrientation="portrait">