Android橫豎屏切換布局不正常的問題

2021-08-25 18:00:55 字數 868 閱讀 3112

起因:

在垂直方向啟動應用程式時候,橫豎屏切換正常,但是在橫屏啟動程式時,layout載入正常,但是繪圖部分不正常,即橫屏顯示的是豎屏的布局,切換後豎屏是橫屏的布局。

解決:

應該是在程式載入布局時,先獲取手機當前的狀態,如果是橫屏,則去載入橫屏布局,否則載入豎屏,而不是獲取manifast.xml中設定的狀態來判斷載入那種布局。manifast中是主動去設定activity的橫豎屏狀態,是不依賴手機橫豎狀態的,如果xml設定了豎屏,那就算橫屏啟動程式,也是一樣豎屏顯示的。

因此應該先註冊乙個intent: intent.action_configuration_changed

在receiver中getconfiguration().orientation來判斷當前手機狀態,然後去更新你的變數isportrait

activity裡面有onconfigurationchanged這個函式,你首先在manifest裡面註冊橫豎屏事件類似於這個:

android:configchanges="keyboard|keyboardhidden|orientation"

這個的意思是鍵盤出現和隱藏,橫屏的時候都會觸發onconfigurationchanged裡面的事件。

你可以在onconfigurationchanged裡面加繪圖大小的**。

public void onconfigurationchanged(configuration newconfig)

Android橫豎屏切換改變布局

前提 橫屏布局 layout landscape 豎屏布局 layout portrait 旋轉rotatesampleactivity頁面 設定android configchanges屬性,為orientation。這裡需要注意的是 自從android 3.2 api 13 screen siz...

android 橫豎屏切換

private onclicklistener onclick new onclicklistener else 監聽系統設定的更改 override public void onconfigurationchanged configuration newconfig 在4.0以後需要加上scree...

Android 橫豎屏切換

今天老闆讓我看看有沒有辦法能讓我的背景桌布自己橫豎螢幕切換,今天發表下研究的成果。1.首先有時候開發的時候需要強制橫屏或者豎屏的時候,只需要在androidmanifest.xml中設定activity的android screenorientatation屬性就行了。unspecified 預設值...