日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

[转]Android横竖屏切换解决方案

發(fā)布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Android横竖屏切换解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)自:http://www.cnblogs.com/domybest/archive/2011/06/30/2094779.html

?

首先在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"屬性

        <activity android:name=".FileBrowser" 
                  android:label="@string/app_name" 
                  android:configChanges="orientation|keyboardHidden"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity>

加入這條屬性的含義是,應用程序?qū)幚砥聊环较蚝玩I盤狀態(tài)(推出或合上)信息的改動。但對于其他的設備配置信息的改動則會由Android系統(tǒng)來處理(銷毀當前Activity,然后重啟一個新的Activity實例)。

那么,現(xiàn)在還需要在java代碼的activity子類中加入配置信息改動的處理代碼。這個也很簡單

	/** 
	 * onConfigurationChanged 
	 * the package:android.content.res.Configuration. 
	 * @param newConfig, The new device configuration. 
	 * 當設備配置信息有改動(比如屏幕方向的改變,實體鍵盤的推開或合上等)時, 
	 * 并且如果此時有activity正在運行,系統(tǒng)會調(diào)用這個函數(shù)。 
	 * 注意:onConfigurationChanged只會監(jiān)測應用程序在AnroidMainifest.xml中通過 
	 * android:configChanges="xxxx"指定的配置類型的改動; 
	 * 而對于其他配置的更改,則系統(tǒng)會onDestroy()當前Activity,然后重啟一個新的Activity實例。 
	 */ 
	@Override 
	public void onConfigurationChanged(Configuration newConfig) {	 
		super.onConfigurationChanged(newConfig); 
		// 檢測屏幕的方向:縱向或橫向 
		if (this.getResources().getConfiguration().orientation  
				== Configuration.ORIENTATION_LANDSCAPE) { 
			//當前為橫屏, 在此處添加額外的處理代碼 
		} 
		else if (this.getResources().getConfiguration().orientation  
				== Configuration.ORIENTATION_PORTRAIT) { 
			//當前為豎屏, 在此處添加額外的處理代碼 
		} 
		//檢測實體鍵盤的狀態(tài):推出或者合上     
		if (newConfig.hardKeyboardHidden  
				== Configuration.HARDKEYBOARDHIDDEN_NO){  
			//實體鍵盤處于推出狀態(tài),在此處添加額外的處理代碼 
		}  
		else if (newConfig.hardKeyboardHidden 
				== Configuration.HARDKEYBOARDHIDDEN_YES){  
			//實體鍵盤處于合上狀態(tài),在此處添加額外的處理代碼 
		} 
	}
別忘了在java文件中加上import android.content.res.Configuration

這樣就OK了,屏幕方向改變時,應用程序的顯示界面也會隨著改動,而不是被銷毀!

-----------------------------------還是分割線---------------------------------------------

擴展補充:

Activity中還有一屬性和屏幕方向有關:

<activity  
   . . . 
      android:screenOrientation=["unspecified" | "user" | "behind" | 
                                 "landscape" | "portrait" | 
                                 "sensor" | "nosensor"] 
    . . . 
</activity>

比如,在Mainifest.xml的Activity元素中增加這么一個屬性:

android:screenOrientation="portrait"

則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。

android:screenOrientation="landscape",為橫屏顯示。

這里提一個小知識,Anroid模擬器中,快捷鍵"ctrl+F11"可以實現(xiàn)轉(zhuǎn)屏。

轉(zhuǎn)載于:https://www.cnblogs.com/freeliver54/archive/2011/12/28/2304709.html

總結(jié)

以上是生活随笔為你收集整理的[转]Android横竖屏切换解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。