a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

解析Android橫豎屏切換的問題

2020-04-11 12:08:14
字體:
來源:轉載
供稿:網友
在做android 開發時,在默認情況下當屏幕從豎評變到橫屏時會觸發 onConfigurationChanged 事件 在默認情況下會重新加載畫面并顯示和橫評一樣的畫面,這樣會有2個問題,
布局問題,在豎屏 顯示的布局到橫屏中由于寬和高發生了變化所有多少都會影響到布局(除非你定制2套畫面在然后加個判斷在橫屏時怎么顯示,在豎屏時怎么顯示),當然最簡單的辦法就是在項目的 AndroidManifest.xml中找到你所指定的activity 中加上
只豎屏顯示的話(android:screenOrientation="portrait")
只橫屏顯示的話(android:screenOrientation="landscape")
畫面重新載入問題:在默認情況下橫豎 切換時會重新載入畫面,導致一些不必要的資源浪費,更嚴重的是畫面上保持的數據(特別是游戲方面)也都被重置了(當然你可以在重置前保存這些數據到數據庫或者到文本文件中),要怎么避免在橫豎 切換時重新載入畫面,
首先要在 AndroidManifest.xml中找到你所指定的activity 中加上android:configChanges="orientation|keyboardHidden"
然后 在activity的邏輯處理中(代碼部分)去重載onConfigurationChanged事件,具體代碼參考一下(注:下面這個代碼是把橫豎屏切換時,畫面不切換,且都當成豎屏處理): 
復制代碼 代碼如下:

@Override
    public void onConfigurationChanged(Configuration config) {
        try {
            super.onConfigurationChanged(newConfig);
            if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
  //橫屏時要處理的代碼,
  //這里的代碼是當屏幕橫屏時當成豎屏顯示              
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
   //豎屏時要處理的代碼
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

            }
        } catch (Exception ex) {
        }
    }

以上就可以簡單的控制你的app畫面的顯示方式并且在顯示方式不變的情況下橫豎 屏切換時不會重新加載畫面,即優化的你的app同時用戶體驗也相應提高了。
以上,希望對大家有幫助。呵呵。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产二区视频 | 午夜影院a | 百性阁综合另类 | 天天草天天干 | 精品国产31久久久久久 | 羞羞在线观看视频免费观看hd | 精品一区免费观看 | 91超视频 | 一区二区日韩在线观看 | 日韩视频中文字幕 | 成人免费视频一区二区三区 | 成人自拍视频 | 最黄的网站 | 经典法国性xxxx精品 | 色吧av| 国产色av | 国产成人午夜片在线观看高清观看 | 国产91视频一区二区 | 日本黄色一级片视频 | 亚洲中国字幕 | 国一级片 | 91久久久久久久久久久久久 | 亚洲精品乱码久久久久v最新版 | 成人欧美一区二区三区黑人孕妇 | 美女黄在线观看 | 日本在线一二 | 亚洲精品v | 97久久精品人人做人人爽50路 | 日本xxxxxxx| 黄色网页大全 | 国产欧美日本 | 羞羞视频在线免费 | 久久51| 欧美国产激情二区三区 | 一区二区欧美视频 | 欧美日韩在线第一页 | 国产不卡视频在线观看 | 久久综合一区二区 | 欧美一二三四成人免费视频 | 中文字幕网在线 | 成人毛片在线观看 |