2025-05-25

 

在android中每次屏幕的切換動會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置。在activity加上android:configChanges="keyboardHidden|orientation"屬性,就不會重啟activity.而隻是調用onConfigurationChanged(Configuration newConfig).這樣就可以在這個方法裡調整顯示方式.

 

 

 

 

MainActivity中:

 

public void onConfigurationChanged(Configuration newConfig) { 

        try { 

            super.onConfigurationChanged(newConfig); 

            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 

                Log.v("Himi", "onConfigurationChanged_ORIENTATION_LANDSCAPE"); 

            } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { 

                Log.v("Himi", "onConfigurationChanged_ORIENTATION_PORTRAIT"); 

            } 

        } catch (Exception ex) { 

        } 

    } 

 

 

 

 

 

 

<?xml version="1.0" encoding="utf-8"?> 

 

<manifest xmlns:android="https://schemas.android.com/apk/res/android" 

 

    package="com.himi" android:versionCode="1" android:versionName="1.0"> 

 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 

 

        <activity android:name=".MainActivity" android:label="@string/app_name" 

 

            android:configChanges="keyboardHidden|orientation"> 

 

            <intent-filter> 

 

                <action android:name="android.intent.action.MAIN" /> 

 

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

 

            </intent-filter> 

 

        </activity> 

 

    </application> 

 

    <uses-sdk android:minSdkVersion="4" /> 

 

</manifest>   

 

摘自 junjieking的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *