亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android編程實現屏幕自適應方向尺寸與分辨率的方法

2020-04-11 11:14:32
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現屏幕自適應方向尺寸與分辨率的方法。分享給大家供大家參考,具體如下:

Android 屏幕自適應方向尺寸與分辨率,包括屏幕界面布局、多分辨率支持、獲取屏幕尺寸、屏幕橫屏與豎屏等,android 模擬器橫屏,android 虛擬機橫屏,android 判斷橫屏,android 禁止橫屏,android 強制橫屏,android 橫屏事件,android 自適應分辨率,android 屏幕自適應,android 圖片自適應,android 橫屏布局。

屏幕界面布局

Android 手機屏幕大小有 480x320 、640x360, 、800x480 ,怎樣讓 App 自動適應不同的屏幕呢?

我們可以在 res 目錄下創建不同的 layout 文件夾,比如 layout-640x360 、layout-800x480 ,所有的 layout 文件在編譯之后都會寫入 R.java 里,而系統將根據屏幕的大小自己選擇合適的 layout 進行使用。

多分辨率支持

支持多分辨率有 mdpi、ldpi、hdpi 3個文件。

① hdpi 里面存放高分辨率的圖片,如 WVGA (480x800),FWVGA (480x854) ;
② mdpi 里面存放中等分辨率的圖片,如 HVGA (320x480) ;
③ ldpi 里面存放低分辨率的圖片,如 QVGA (240x320) 。

系統將根據機器的分辨率來分別到這幾個文件夾里面去找對應的圖片,在程序開發中,為了兼容不同平臺不同屏幕,建議將不同版本圖片根據需求存放在各自對應的文件夾中。
獲取屏幕尺寸

Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight();DisplayMetrics dm = new DisplayMetrics(); dm = getResources().getDisplayMetrics(); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; float density = dm.density; float xdpi = dm.xdpi; float ydpi = dm.ydpi;

屏幕橫屏與豎屏

1、橫屏豎屏自動切換

首先在 res 目錄下建立 layout-port-800x600和layout-land 兩個目錄,里面分別放置豎屏和橫屏兩種布局文件,這樣在手機屏幕方向變化的時候系統會自動調用相應的布局文件,避免一種布局文件無法滿足兩種屏幕顯示的問題。

有的程序適合從豎屏切換到橫屏,或者反過來,這個時候怎么辦呢?可以在配置 Activity 的地方進行如下的配置:

復制代碼 代碼如下:
android:screenOrientation="portrait"

這樣就可以保證是豎屏總是豎屏了,或者 landscape 橫向。

而有的程序是適合橫豎屏切換的。如何處理呢?首先要在配置 Activity 的時候進行如下的配置:

復制代碼 代碼如下:
android:configChanges="keyboardHidden|orientation"

另外需要重寫 Activity 的 onConfigurationChanged 方法。實現方式如下:

@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // land do nothing is ok } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // port do nothing is ok } }

2、不同分辨率橫屏豎屏自動切換

以800x600 為例,可以在res目錄下建立 layout-port-800x600 和 layout-land-800x600 兩個目錄

說明:每個 activity 都有這個屬性 screenOrientation ,每個 activity 都需要設置,可以設置為豎屏(portrait),也可以設置為無重力感應(nosensor)。

3、屏幕固定,不隨手機方向轉動而變化

可以在 AndroidManifest.xml 中配置,加入:

復制代碼 代碼如下:
android:screenOrientation="landscape"

例如(landscape 是橫向,portrait 是縱向):

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ray.linkit" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".GamePlay" android:screenOrientation="portrait"></activity> <activity android:name=".OptionView" android:screenOrientation="portrait"></activity> </application> <uses-sdk android:minSdkVersion="3" /> </manifest>

android 每次屏幕的切換動會重啟 Activity ,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣進行中的游戲就不再自動重啟。

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产欧美一区二区五十路| 精品久久久久人成| 欧美理论在线观看| 不卡av在线播放| 国产女人18毛片水18精品| 在线观看国产精品淫| 国产精品午夜一区二区欲梦| 欧美日本啪啪无遮挡网站| 欧美大胆a视频| 成人免费看吃奶视频网站| 中文欧美在线视频| 亚洲国产精彩中文乱码av在线播放| 亚洲午夜色婷婷在线| 久久99久久99精品免观看粉嫩| 欧美黄色三级网站| 亚洲人成77777在线观看网| 欧美在线视频一二三| 日韩精品免费一线在线观看| 欧美电影免费观看| 日产精品久久久一区二区福利| 日韩欧美成人区| 久久人人爽人人爽人人片亚洲| 北条麻妃久久精品| 中文字幕久精品免费视频| 亚洲free性xxxx护士hd| 国产精品免费久久久久久| 国产999精品久久久影片官网| 国产精品成人av性教育| 欧美日韩激情视频| 国产一区二区在线播放| 国产成人高潮免费观看精品| www.久久久久久.com| 国产精品一区二区久久久| 日韩中文av在线| 久久人人爽国产| www日韩中文字幕在线看| 国产欧美精品在线播放| 久久av在线播放| 91精品视频在线看| 日韩精品极品毛片系列视频| 欧美性感美女h网站在线观看免费| 国产美女精品视频免费观看| 91精品国产高清自在线看超| 欧美极度另类性三渗透| 韩国精品久久久999| 一道本无吗dⅴd在线播放一区| 人九九综合九九宗合| 日韩亚洲第一页| 亚洲成人激情图| 91大神在线播放精品| 欧美精品video| 国产精品美女久久久久av超清| 国产一区二区色| 在线视频欧美日韩| 欧美精品中文字幕一区| 在线免费观看羞羞视频一区二区| 欧美激情网友自拍| 色综合久久中文字幕综合网小说| 亚洲美女av电影| 亚洲free性xxxx护士白浆| 91精品综合久久久久久五月天| 国产视频综合在线| 成人黄色大片在线免费观看| 永久免费毛片在线播放不卡| www.欧美精品一二三区| 亚洲女人天堂av| 亚洲风情亚aⅴ在线发布| 欧美最猛性xxxxx亚洲精品| 中文字幕日韩综合av| 欧美国产一区二区三区| 少妇高潮久久久久久潘金莲| 欧美黑人又粗大| 欧美亚洲一级片| 久久99久久久久久久噜噜| 久久躁日日躁aaaaxxxx| 国产日产欧美a一级在线| 久久91亚洲精品中文字幕奶水| 国产ts一区二区| 国产欧美日韩高清| 91精品国产精品| 成人黄色网免费| 精品国产福利在线| 欧美视频不卡中文| 国产不卡av在线| 国产精品久久婷婷六月丁香| 成人免费淫片视频软件| 中文字幕亚洲欧美一区二区三区| 色香阁99久久精品久久久| 国产欧美精品在线播放| 中文字幕视频一区二区在线有码| 欧美在线视频免费观看| 亚洲免费中文字幕| 亚洲欧洲日产国码av系列天堂| 国产欧美va欧美va香蕉在| 国产99久久精品一区二区永久免费| 国产精品扒开腿爽爽爽视频| 欧美性猛交xxxx久久久| 欧美另类99xxxxx| 亚洲网站在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲精品久久久久久下一站| 欧美野外wwwxxx| 97超视频免费观看| 97热在线精品视频在线观看| 久久视频免费在线播放| 精品久久久久久中文字幕一区奶水| 国产精品日韩欧美大师| 91免费的视频在线播放| 久久久中精品2020中文| …久久精品99久久香蕉国产| 91亚洲国产精品| 欧美丰满少妇xxxx| 亚洲aaaaaa| **欧美日韩vr在线| 韩国国内大量揄拍精品视频| 欧美国产亚洲视频| 精品国产一区二区三区久久久狼| 色偷偷噜噜噜亚洲男人的天堂| 日韩av在线导航| 亚洲а∨天堂久久精品9966| 亚洲精品久久久久久久久久久久久| 国产精品丝袜久久久久久不卡| 国产美女久久精品香蕉69| 亚洲91av视频| 亚洲成人久久一区| 久久久久久久久国产精品| 久久久久久国产精品久久| 久久久99免费视频| 国产91久久婷婷一区二区| 亚洲第一福利在线观看| 国产精品xxx视频| 欧美激情一区二区三级高清视频| 日本精品在线视频| 国产欧美日韩综合精品| 国产成人亚洲精品| 日韩网站在线观看| 亚洲成人激情图| 日韩精品免费在线视频| 精品国产91乱高清在线观看| 亚洲欧美日韩国产精品| 日韩av手机在线看| 久久久久久久亚洲精品| 久久91精品国产91久久久| 亚洲色图狂野欧美| 国产欧洲精品视频| 国产日韩欧美在线播放| 亚洲成人av中文字幕| 欧美日韩在线免费| 亚洲国产中文字幕久久网| 久久亚洲精品网站| 久久久久久久久久久成人| 国产精品91久久| 久久久久久久久91| 欧美日韩色婷婷| xxxx性欧美| 欧美一级大片视频| 久久久av网站| 上原亚衣av一区二区三区| 日韩av手机在线观看| 色婷婷av一区二区三区在线观看| 一本色道久久88综合日韩精品| 欧美疯狂性受xxxxx另类| 欧美一级大片视频| 人人做人人澡人人爽欧美|