Android日記之2012\01\01

新年新氣象~~~新的一年,舊的不去,新的不來,祝各位讀者新年快樂~~~
智能手機有一點的確不錯,橫豎屏隨意切,但是隨之會帶來兩個問題:1、界面的變形。2、Activity的重新創建。
總的來說,有一個好方法可以解決這兩個問題,那就是鎖屏,我們可以在Mainfest文件中對Activity添加屬性android:screenOrientation=”portait”(豎屏),或者”landscape”(橫屏)。這樣就能保證不管用戶怎麼晃,始終如一。
但是,客戶是上帝,當客戶希望支持橫豎屏切換的時候,我們還只能給他們完成這些東西。
首先來說明下界面的問題。由於橫豎屏切換會導致界面變形,所以我們就要給橫豎屏來分別定製一套界面。在res文件夾下創建layout-land和layout-port。layout-land下放的是橫屏的佈局文件layout-port下放的是是豎屏的佈局文件,這樣切換起來就美觀多了。
其次是Activity的問題,當橫豎屏切換的時候,系統會銷燬當前的Activity,並且再生成一個新的,所以,一些正在處理的數據可能就會紊亂。解決方案:1、不能銷燬當前Activity。在Mainfest文件中對應的Activity下,添加屬性android:configChanges=”orientation|keyboardHidden”。2、在對應的Activity類中添加方法onConfigurationChanged(),通過this.getResources().getConfiguration().orientation來檢測屏幕方向,如果其值爲Configuration.ORIENTATION_LANDSCAPE表示爲橫屏,Configuration.ORIENTATION_PORTRAIT表示爲豎屏,只要在相對應的地方添加邏輯處理就行了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章