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

來源:互聯網
上載者:User

     起因: 

     在垂直方向啟動應用程式時候,橫豎屏切換正常,但是在橫屏啟動程式時,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) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.