安卓中橫豎屏切換和Activity的生命週期的處理

2021-07-13 19:46:33 字數 1098 閱讀 5618

目前在做的乙個專案是全部橫屏的,之前的想法是認為在清單檔案中對每乙個activity設定屬性太麻煩,所以決定用**實現,抽取到baseactivity中的onresume方法裡,**如下:

@override

protected void onresume()

}

後來在寫專案的過程中,涉及到生命週期的重走。場景是這樣的的:我在乙個activity的onresume方法中還要做某些事情,結果做了兩遍。後來只好用那個麻煩的方法了,如果大家有什麼好的方法可以做到讓所有activity都是橫屏的,並且不會重複走生命週期,並且不需要對每個activity都設定屬性,希望大家可以告訴我。

接下來總結一下橫豎屏切換的處理:

第一種:指定螢幕朝向(弊端:不能切換橫豎屏了)

方法:在清單檔案對應的activity中配置android:screenorientation=」landscape」(橫屏,portrait是豎屏);

第二種: 設定螢幕旋轉時不重新建立activity

在清單檔案對應的activity中配置android:configchanges="keyboardhidden|orientation|screensize",這三個都要配置,否則高版本不會生效。  

橫豎屏切換時會走activity的onconfigurationchanged()方法,我們就可以在這個方法中進行一些處理

@override

public void onconfigurationchanged(configuration newconfig) else

super.onconfigurationchanged(newconfig);

}

第三種:**配置橫豎屏(會直接走兩遍部分生命週期)

@override

protected void onresume()

}

我這個專案最後的選擇是第一種做法,每個activity都設定強制橫屏。希望大家有好的建議可以告訴我。

安卓設定橫豎屏的筆記

首先在androidmanifest.xml設定了 android configchanges orientation keyboardhidden screensize 使其設換橫豎屏是不會重新走生命週期。使用 setrequestedorientation activityinfo.screen...

在service中監控橫豎屏的切換

因為近期乙個專案需要做乙個類似於九遊的懸浮球,懸浮球自動靠邊吸附螢幕邊緣並隱藏一部分。本來興沖沖的做完了,但是在橫豎屏切換的時候蹦出來乙個攔路虎。因為這個懸浮球是貫穿整個應用的,所以開了個service在裡面寫了懸浮球的實現。so,問題就來了,在橫豎屏切換後小球就不能好好的吸附在螢幕邊緣了。幸好se...

Activity的啟動模式和橫豎屏切換

一.activity 依靠任務棧,按照先進後出的原則,記錄和維護當前開啟的activity。android為了維護使用者更好的體驗,提供了以下4種啟動模式 1.standard的啟動模式 每開啟乙個activity,就會往棧中增加乙個activity,不考慮是否有重複的activity被一再開啟。2...