編輯:關於Android編程
首先在Mainifest.xml的Activity元素中加入android:configChanges=orientation|keyboardHidden屬性
加入這條屬性的含義是,應用程序將會處理屏幕方向和鍵盤狀態(推出或合上)信息的改動。但對於其他的設備配置信息的改動則會由Android系統來處理(銷毀當前Activity,然後重啟一個新的Activity實例)。
那麼,現在還需要在java代碼的activity子類中加入配置信息改動的處理代碼。這個也很簡單
/**
* onConfigurationChanged
* the package:android.content.res.Configuration.
* @param newConfig, The new device configuration.
* 當設備配置信息有改動(比如屏幕方向的改變,實體鍵盤的推開或合上等)時,
* 並且如果此時有activity正在運行,系統會調用這個函數。
* 注意:onConfigurationChanged只會監測應用程序在AnroidMainifest.xml中通過
* android:configChanges=xxxx指定的配置類型的改動;
* 而對於其他配置的更改,則系統會onDestroy()當前Activity,然後重啟一個新的Activity實例。
*/
@Override publicvoid onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig); // 檢測屏幕的方向:縱向或橫向
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//當前為橫屏, 在此處添加額外的處理代碼
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
//當前為豎屏, 在此處添加額外的處理代碼
}
//檢測實體鍵盤的狀態:推出或者合上
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO){
//實體鍵盤處於推出狀態,在此處添加額外的處理代碼
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES){
//實體鍵盤處於合上狀態,在此處添加額外的處理代碼
}
}
別忘了在java文件中加上import android.content.res.Configuration。
這樣就OK了,屏幕方向改變時,應用程序的顯示界面也會隨著改動,而不是被銷毀!
Activity中還有一屬性和屏幕方向有關:
比如,在Mainifest.xml的Activity元素中增加這麼一個屬性:
android:screenOrientation=portrait
則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。
android:screenOrientation=landscape,為橫屏顯示。
這裡提一個小知識,Anroid模擬器中,快捷鍵ctrl+F11可以實現轉屏。
Interface to global information about an application environment. This is an abstrac
在apk中,有時候需要root權限,例如通過apk更新系統庫等system的文件等,避免升級固件,或者在apk中需要直接訪問某些設備等。下面是在apk中獲取root權限的
前言:ListView——列表,它作為一個非常重要的顯示方式,不管是在Web中還是移動平台中,都是一個非常好的、不開或缺的展示信息的工具。在And
實現原理(1)首先獲得下載文件的長度,然後設置本地文件的長度。(2)根據文件長度和線程數計算每條線程下載的數據長度和下載位置。如:文件的長度為6M,線程數為3,那麼,每條