代码改变世界

Android禁止横竖屏和解决切换屏幕时重启Activity的方法

2012-04-26 22:58  javaspring  阅读(527)  评论(0编辑  收藏  举报

在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,实现横竖屏切换了。