Android編程實現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法
本文實例講述了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文件中加上
這樣就OK了,屏幕方向改變時,應(yīng)用程序的顯示界面也會隨著改動,而不是被銷毀!
Activity中還有一屬性和屏幕方向有關(guān):
比如,在Mainifest.xml的Activity元素中增加這么一個屬性:
則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。
這里提一個小知識,Anroid模擬器中,快捷鍵"ctrl+F11"可以實現(xiàn)轉(zhuǎn)屏。
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android App中實現(xiàn)向右滑動銷毀功能的要點解析
- Android的Activity跳轉(zhuǎn)動畫各種效果整理
- android的activity跳轉(zhuǎn)到另一個activity
- android PopupWindow 和 Activity彈出窗口實現(xiàn)方式
- Android基礎(chǔ)之Fragment與Activity交互詳解
- Android Activity之間傳遞圖片(Bitmap)的方法
- Android筆記之:App應(yīng)用之啟動界面SplashActivity的使用
- Activity透明/半透明效果的設(shè)置transparent(兩種實現(xiàn)方法)
- android獲取當(dāng)前運行Activity名字的方法
- Android Activity切換(跳轉(zhuǎn))時出現(xiàn)黑屏的解決方法 分享
- Android實現(xiàn)Activity界面切換添加動畫特效的方法
- 詳解Android.activity銷毀流程的工作原理
相關(guān)文章
Android應(yīng)用中ListView利用OnScrollListener分頁加載數(shù)據(jù)
這篇文章主要介紹了Android應(yīng)用中ListView利用OnScrollListener分頁加載數(shù)據(jù)的方法,包括對OnScrollListener事件順序次數(shù)的分析,需要的朋友可以參考下2016-03-03
Android編程實現(xiàn)異步消息處理機制的幾種方法總結(jié)
這篇文章主要介紹了Android編程實現(xiàn)異步消息處理機制的幾種方法,結(jié)合實例形式詳細總結(jié)分析了Android異步消息處理機制的原理、相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2018-08-08
android編程實現(xiàn)局部界面動態(tài)切換的方法
這篇文章主要介紹了android編程實現(xiàn)局部界面動態(tài)切換的方法,以實例形式較為詳細的分析了Android局部切換的布局及功能實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android 快速實現(xiàn)防止網(wǎng)絡(luò)重復(fù)請求&按鈕重復(fù)點擊的方法
下面小編就為大家分享一篇Android 快速實現(xiàn)防止網(wǎng)絡(luò)重復(fù)請求&按鈕重復(fù)點擊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Android Studio 3.6 調(diào)試 smali的全過程
這篇文章主要介紹了Android Studio 3.6 調(diào)試 smali, 目前最新版的 Android Studio 利用附加功能調(diào)試 smali 非常方便,具體操作步驟跟隨小編一起看看吧2020-02-02
Android開發(fā)環(huán)境安裝和配置圖文教程
輕松搞定Android開發(fā)環(huán)境部署,這篇文章主要為大家詳細介紹了Android開發(fā)環(huán)境安裝和配置圖文教程,感興趣的小伙伴們可以參考一下2016-06-06

