Android禁止橫屏豎屏切換


Android禁止橫屏豎屏切換

 
 

在Android中要讓一個程序的界面始終保持一個方向,不隨手機方向轉動而變化的辦法: 只要在AndroidManifest.xml里面配置一下就可以了。在AndroidManifest.xml的activity(需要禁止轉向的activity)配置中加入android:screenOrientation=”landscape”屬性即可(landscape是橫向,portrait是縱向)。例如:

<application android:icon="@drawable/icon" 
    			 android:label="@string/app_name" 
    			 android:debuggable="true" >
        
        <activity android:name="SmsActivity"
                  android:label="@string/app_name" 
                   android:launchMode="singleTask"
                   android:screenOrientation="portrait"
        		   android:taskAffinity="com.view.task" >
            <intent-filter>
            	 <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT">	</category>
            </intent-filter>
        </activity>
</application>

另外,android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!要避免在轉屏時重啟activity,可以通過在androidmanifest.xml文件中重新定義方向(給每個activity加上android:configChanges=”keyboardHidden|orientation”屬性),並根據Activity的重寫onConfigurationChanged(Configuration
newConfig)方法來控制,這樣在轉屏時就不會重啟activity了,而是會去調用onConfigurationChanged(Configuration newConfig)這個鈎子方法。例如

@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) {  
        }  
  
    } 


Android屏幕旋轉-橫屏豎屏切換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM