Android禁止橫豎屏和解決切換屏幕時重啟Activity的方法

在AndroidManifest.xml的Activity配置中加入 android:screenOrientation=”landscape”屬性(landscape是橫向,portrait是縱向)。比如

<activity android:name=".ContactsManagerActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category    android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
二、一般橫豎屏切換時,activity要重啟,為瞭避免重啟,可以在activity中屬性中加如:

android:configChanges=”orientation“,然後在activity中復寫onConfigurationChanged()方法,例如

public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        if (newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) {
            setContentView(R.layout.imageswitch);
            //橫屏
        } else {
            setContentView(R.layout.editcontact);//豎屏
        }
       
        super.onConfigurationChanged(newConfig);
    }這樣就可以實現不重啟activity,實現橫豎屏切換瞭。

 

作者 張譯成

發佈留言