欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法

 更新時間:2015年11月06日 12:11:28   作者:Jlins  
這篇文章主要介紹了Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法,涉及Android屬性設(shè)置及activity操作的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法。分享給大家供大家參考,具體如下:

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

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

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

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

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

別忘了在java文件中加上

復(fù)制代碼 代碼如下:
import android.content.res.Configuration
。

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

Activity中還有一屬性和屏幕方向有關(guān):

復(fù)制代碼 代碼如下:
<activity . . . android:screenOrientation=["unspecified" | "user" | "behind" | "landscape" | "portrait" | "sensor" | "nosensor"] . . . </activity>

比如,在Mainifest.xml的Activity元素中增加這么一個屬性:
復(fù)制代碼 代碼如下:
android:screenOrientation="portrait"

則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。
復(fù)制代碼 代碼如下:
android:screenOrientation="landscape"
為橫屏顯示。
這里提一個小知識,Anroid模擬器中,快捷鍵"ctrl+F11"可以實現(xiàn)轉(zhuǎn)屏。

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

最新評論