自动更改活动:Android中的横向和纵向模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动更改活动:Android中的横向和纵向模式相关的知识,希望对你有一定的参考价值。

我的android应用中有两项活动。点击后,我可以来回移动一个活动到另一个活动。但是当我从横向模式变为纵向模式时,反之亦然,我的活动会自动更改,这是我没想到的。即使将其更改为纵向或横向模式,我希望它仍然保持相同的活动。那可能是什么问题呢?

更新

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.dmacs.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon1"
        android:label="@string/app_name"
        android:logo="@drawable/icon2"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


        <activity android:name=".second_main">
        </activity><!-- ATTENTION: This was auto-generated to add Google Play services to your project for
     App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information. -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />


    </application>

</manifest>
答案
<activity
    android:name=".MainActivity"
    android:screenOrientation="sensor" 
    android:configChanges="orientation"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

我只是添加了这一行:android:screenOrientation="sensor"

它会覆盖系统(如果您的系统可以锁定方向)

同时添加以下行:android:configChanges="orientation"

它可以防止由方向触发的任何更新

以上是关于自动更改活动:Android中的横向和纵向模式的主要内容,如果未能解决你的问题,请参考以下文章

即使纵向模式被锁定,Android 应用程序也会自动旋转到横向模式几秒钟

将 Android DialogFragment 显示为纵向模式下的对话框和横向模式下的活动的一部分

即使我的活动在 android 2.3.1 中处于纵向模式,如何将 framelayout 设置为横向

如何在不调用该 Activity 的 API 调用的情况下为横向和纵向模式使用不同的设计?

从纵向活动中以横向打开相机时上下文为空

如何为android中的xml文件调整纵向和横向模式的正确界面