關於activity橫豎屏切換的問題

2022-04-30 13:54:11 字數 1330 閱讀 1158

介面的橫豎屏切換

1、在androidmanifest.xml中對所需要進行橫豎屏切換的activity進行設定以下屬性:

android:screenorientation="portrait"

當前設定為只可以進行豎屏的顯示;

android:screenorientation="landscape"

當前設定可以進行橫屏顯示;

2、橫豎屏切換時生命週期變化

3、android 2.3以前的橫豎屏切換

在android 2.3平台上,需要介面橫豎屏顯示的時候,可以在androidmanifest.xml中,對activity的屬性新增以下**:

android:configchanges="orientation"
同時在activity中覆寫onconfigurationchanged方法

@override

public void onconfigurationchanged(configuration newconfig)

通過設定,當前activity在橫豎屏切換的時候,便不會重新走activity的生命週期,而是直接執行onconfigurationchanged()方法裡的內容。

4、android 4.0以後的橫豎屏切換

當我們在4.0上像之前那樣設定橫豎屏時,會發現竟然沒有效果,activity依然走自己的生命週期,這是因為在api level 13以後android做了修改了,sdk描述如下:

也就是說在android 3.2(api level 13)以後,當裝置橫豎屏切換時螢幕尺寸也改變了。因此,如果你想在api level 13或者更高的環境下,像以前那樣阻止裝置的橫豎屏切換,你需要在orientation後加上screensize。也就說你要像這樣宣告:android:configchanges="orientation|screensize"。

也就是說我們現在要在androidmanifest.xml中的activity加入以下屬性:

android:configchanges="orientation|screensize"
同時依然要在activity中覆寫onconfigurationchanged方法

@override

public void onconfigurationchanged(configuration newconfig)

這樣的設定之後就可以阻止activity被銷毀,進而可以不用在橫豎屏切換的時候進行activity的建立,避免不必要的麻煩。

()

activity的橫豎屏切換

activity橫豎屏切換的生命週期 1 不設定activity的android configchanges時,切屏會重新呼叫各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次 2 設定activity的android configchanges orientation 時,切屏還是會重新呼叫各個...

橫豎屏切換,activity重建問題

最近有個需求,橫屏直播a退出後返回直播列表頁b 豎屏 時,在小公尺8上列表頁b直接變成橫屏的了,因為列表頁b由豎屏切換成橫屏了,還會重新執行生命週期oncreate onresume 等等。為了避免activity重建,可以在清單檔案做如下配置 android name com.etwod.yuli...

關於橫豎屏切換時Activity生命週期的問題

activity的生命週期和專案清單檔案裡面的配置有關係 3 設定activity的android configchanges orientation keyboardhidden 時,切屏不會重新呼叫各個生命週期,只會執行onconfigurationchanged方法 以上是android 3....