《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > Android os設備謊言分辨率的解決方案
Android os設備謊言分辨率的解決方案
CSDN
摘要: 簡單的來說,在SDK1.6以后,Android增加了新功能“支持多屏”,所謂這項新功能也就是為了讓我們的游戲、軟件能在不同的分辨率,不同機型上一樣流暢、玩美運行,其作用一來減輕我們的移植工作量,二來更好的體現Android越來越強勁的勢頭。
關鍵詞: Android 謊言分辨率
Abstract:
Key words :

  剛才一群里的兄弟問的一問題,稍微研究下,這里一起分享:新建的Emulator -配置為:WAGA800 其分辨率是 800*480 的設備模擬器,當我們程序中在取得其 Height和 Width的時候發現,總是 320*533 ,明顯是系統對我們撒了謊!如下圖:

  

  那么為什么系統會對其分辨率進行撒謊呢? 其作用是什么呢?

  簡單的來說,在SDK1.6 (sdk version 4)以后,Android 增加了新功能“支持多屏”,所謂這項新功能也就是為了讓我們的游戲、軟件能在不同的分辨率,不同機型上一樣流暢、玩美運行,其作用一來減輕我們的移植工作量,二來更好的體現Android 越來越強勁的勢頭。

  自適應效果如下圖:(WVGA高密度(左),中密度的HVGA(中),低密度和QVGA(右)

  

  在不同的分辨率上想玩美的跑起來一款游戲和軟件,有兩種方式,一種是我們做游戲的時候都做成自適應屏幕的游戲方式,比如我們取坐標都根據屏幕的寬、高、圖片的寬、高等等而不是寫成死的位置坐標。 第二種那就是Android os 在1.6以后的這種自適應技術;

  但是有些時候顯然Android提供的這種自適應有時候我們不需要,或者說不太適合我們的開發,(其實這也類似于現在的游戲引擎,很多人都在問我開發游戲用什么引擎,其實公司有自己的引擎。我自己寫游戲不用引擎,因為沒有一款游戲引擎適應所有的游戲類型開發,例如用RPG的引擎去做個益智連連看?是不是搞了點 - -。..當然現在市面上已經有不少的游戲開發引擎,但是使用別人的游戲引擎,對于開發來說,雖然提高了開發效率,縮短了開發周期,但是對于其擴展性不得不說很是頭疼的一件事情,so~建議大家去吸收這些開源引擎的知識和技術,自己整理出一份屬于自己的游戲引擎,畢竟自己的擴展起來就容易多了!而不能去一謂的去使用和強加灌輸別人的思維方式到自己腦中)咳咳、回到主題上來,剛才說了,有時候我們并不想使用Android os 提供的自適應,而是我們自己去寫自適應,這樣更加的靈活。

  剛才一群里的兄弟問的一問題,稍微研究下,這里一起分享:新建的Emulator -配置為:WAGA800 其分辨率是 800*480 的設備模擬器,當我們程序中在取得其 Height和 Width的時候發現,總是 320*533 ,明顯是系統對我們撒了謊!如下圖:

  

  下面是官方文檔原文:

  http://androidappdocs.appspot.com/guide/practices/screens_support.html

  那么為什么系統會對其分辨率進行撒謊呢? 其作用是什么呢?

  簡單的來說,在SDK1.6 (sdk version 4)以后,Android 增加了新功能“支持多屏”,所謂這項新功能也就是為了讓我們的游戲、軟件能在不同的分辨率,不同機型上一樣流暢、玩美運行,其作用一來減輕我們的移植工作量,二來更好的體現Android 越來越強勁的勢頭。

  自適應效果如下圖:(WVGA高密度(左),中密度的HVGA(中),低密度和QVGA(右)

  

  在不同的分辨率上想玩美的跑起來一款游戲和軟件,有兩種方式,一種是我們做游戲的時候都做成自適應屏幕的游戲方式,比如我們取坐標都根據屏幕的寬、高、圖片的寬、高等等而不是寫成死的位置坐標。 第二種那就是Android os 在1.6以后的這種自適應技術;

  但是有些時候顯然Android提供的這種自適應有時候我們不需要,或者說不太適合我們的開發,(其實這也類似于現在的游戲引擎,很多人都在問我開發游戲用什么引擎,其實公司有自己的引擎。我自己寫游戲不用引擎,因為沒有一款游戲引擎適應所有的游戲類型開發,例如用RPG的引擎去做個益智連連看?是不是搞了點 - -。..當然現在市面上已經有不少的游戲開發引擎,但是使用別人的游戲引擎,對于開發來說,雖然提高了開發效率,縮短了開發周期,但是對于其擴展性不得不說很是頭疼的一件事情,so~建議大家去吸收這些開源引擎的知識和技術,自己整理出一份屬于自己的游戲引擎,畢竟自己的擴展起來就容易多了!而不能去一謂的去使用和強加灌輸別人的思維方式到自己腦中)咳咳、回到主題上來,剛才說了,有時候我們并不想使用Android os 提供的自適應,而是我們自己去寫自適應,這樣更加的靈活。

  下面給講解如何避開Android os的自適應的方法:

  先來看下官方的一段話:

  

  這里是從官方文檔中截取的一段,這里是在說,當Android sdk的版本是4或更低與版本為5或更高的之間的區別;

  那么從這里可以得知Android sdk 1.6(version 4)之前是不支持自適應的,那么解決的方法也就有了;

  我們只需要在AndroidMainFest 中,定義 《uses-sdk android:minSdkVersion=“4” /》 就OK了!

  view plaincopy to clipboardprint?

  ·········10········20········30········40········50········60········70········80········90········100·······110

·······120·······130·······140·······150

  《?xml version=“1.0” encoding=“utf-8”?》

  《manifest xmlns:android=“http://schemas.android.com/apk/res/android”

  package=“com.desmo.testAd” android:versionCode=“1” android:versionName=“1.0”》

  《application android:icon=“@drawable/icon” android:label=“@string/app_name”》

  《activity android:name=“.Test” android:label=“@string/app_name”》

  《intent-filter》

  《action android:name=“android.intent.action.MAIN” /》

  《category android:name=“android.intent.category.LAUNCHER” /》

  《/intent-filter》

  《/activity》

  《/application》

  《uses-sdk android:minSdkVersion=“4” /》

  《/manifest》

  然后我們看看修改后xml后的運行截圖:

  

  這樣就正常啦, 這里呢我要給大家道個歉,大家也看到了,最近也沒有更新文章,主要原因是一個回老家過年,今天剛回到公司第一天上班,第二點是由于出書的緣故,已經簽下了《清華出版社》的合同,將大概在上半年完成一本關于Android 游戲開發書籍,so~大家也體諒一下我,當然博客我肯定是還要更新的,不過速度不會跟以前一樣快了。

  這里還要說下,我寫的這21篇文章,基本上對于學習游戲開發都是很實用很有用的,希望大家一定要細細的看,因為不少人問的都是寫過的東西 - -;如果大家還有什么疑惑和問題可以來群里進行交流和互相學習。

  OK 就寫到這里,自己會盡快完成書籍,讓大家早點看到。

  本文補充:看到有些網友的回復,大概還存在兩個問題。下面來逐一進行分析;

  第一:

  “ 一般來說800X480的density為240, 這樣得到的系數大小為240/160,

  所以320X533再乘上1.5就是正確的像素,這個需要結合屏幕的density來計算。

  ”

  這段話說的沒錯,(公式的由來官方api 文檔中有寫)Android SDK 1.6 以上才可以通過 canvas.getDensity(); 得到密度,canvas.setDensity(240);設置密度,但是很多群友設置過密度的都知道這根本沒有任何的效果。然后我就想通過利用比值去對canvas進行縮放處理處理畫布使其回到正確的分辨率(像素),雖然目的達到了,但是發現失真效果很嚴重。所以我認為還是用xml定義minSdkVersion 的方式方便、實用。但是又出現了下一個問題:

  第二:

  “ 《uses-sdk android:minSdkVersion=“4” /》 ,加了這句話之后SDK=3時候(也就是SDK 1.5的時候),

  做出來的APK不就裝不成了嗎?

  ”

  沒錯,我們一旦定義了應用程序運行的最低版本,那么低于此版本的都無法安裝此應用,但是除了利用密度比值,現在我也沒有其好的解決方案。

  總結:先說一句,我們這種使用定義應用程序運行的最低版本的方式來解決,存在兩種弊端:

  第一: 低于1.6sdk無法安裝程序。

  第二:影響高版本的功能,例如我們的BlueTooth(藍牙)是在2.0+的api中才有的。

  但是可以利用密度比值,但是最好不要,畢竟失真嚴重。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美理论在线| 国产精品日韩一区二区| 亚洲一区国产精品| 亚洲最新色图| 夜夜爽夜夜爽精品视频| 亚洲精品一区二区三区在线观看| 亚洲高清视频中文字幕| 欧美一区二区在线观看| 亚洲欧美在线一区二区| 亚洲女同同性videoxma| 亚洲欧美中日韩| 亚洲欧美日韩一区二区在线 | 亚洲激情电影中文字幕| 久久精品欧美日韩精品| 亚洲国产人成综合网站| 亚洲国产高清视频| 亚洲精品人人| 夜夜爽99久久国产综合精品女不卡| 99热免费精品在线观看| 一区二区三区日韩欧美精品| 一区二区免费看| 国产精品亚洲视频| 国产欧美一区二区精品性色| 国产亚洲精品激情久久| 精品1区2区| 亚洲国产成人久久综合| 亚洲激情亚洲| 一区二区电影免费观看| 亚洲女同在线| 久久国产一区二区| 亚洲欧洲日夜超级视频| 一区二区三区产品免费精品久久75 | 羞羞答答国产精品www一本| 欧美一区二区三区四区在线观看地址 | 99精品免费| 亚洲一区二区视频| 欧美一区二区三区精品| 久久久九九九九| 欧美激情中文不卡| 国产精品爱啪在线线免费观看| 国产农村妇女毛片精品久久莱园子| 国色天香一区二区| 亚洲日本va午夜在线电影| 亚洲天堂av在线免费| 欧美一区二区三区视频在线观看| 亚洲欧洲日韩在线| 亚洲一区国产一区| 久久久免费av| 欧美日韩激情小视频| 国产精品亚洲人在线观看| 樱桃成人精品视频在线播放| 亚洲三级电影在线观看| 亚洲欧美三级在线| 亚洲国内在线| 亚洲欧美日韩直播| 蜜桃av一区二区三区| 欧美视频在线观看一区| 国产午夜精品视频| 亚洲精选成人| 欧美一区二区三区视频在线观看| 午夜影视日本亚洲欧洲精品| 日韩视频在线观看| 欧美在线看片| 亚洲性xxxx| 免费国产一区二区| 国产乱肥老妇国产一区二| 亚洲国产精品999| 亚洲欧美日韩国产一区二区| 日韩午夜免费视频| 久久久国产精品一区二区中文 | 欧美激情视频一区二区三区免费 | 亚洲精品免费一区二区三区| 午夜在线成人av| 一区二区三区**美女毛片| 久久影音先锋| 国产精品青草综合久久久久99 | 夜夜嗨av一区二区三区四季av| 欧美一区二区日韩| 一区二区三区日韩在线观看| 久久综合图片| 亚洲一区二区三区久久| 亚洲伊人第一页| 久久久久久一区二区三区| 欧美日韩视频专区在线播放 | 韩日午夜在线资源一区二区| 日韩性生活视频| 亚洲日本理论电影| 久久精品国亚洲| 国产精品夫妻自拍| 亚洲欧洲一区二区在线观看| 久久动漫亚洲| 午夜亚洲性色福利视频| 欧美美女操人视频| 在线电影一区| 久久国产直播| 久久精品亚洲乱码伦伦中文| 久久精品在线播放| 欧美一区二区视频网站| 欧美亚一区二区| 亚洲全部视频| 亚洲精品一区二区三区av| 久久精品91| 国产精品日韩精品欧美精品| 日韩一区二区精品视频| 亚洲精品乱码视频| 久久综合激情| 国一区二区在线观看| 亚洲综合电影| 亚洲欧美激情四射在线日| 欧美日韩一级视频| 亚洲激情视频在线| 亚洲区一区二| 欧美.www| 欧美日韩一区在线观看视频| 欧美高清hd18日本| 激情综合亚洲| 久久成人一区| 久久精品在线观看| 国产在线视频欧美| 亚洲欧美影音先锋| 香蕉乱码成人久久天堂爱免费| 欧美午夜精品久久久久久超碰| 一本色道久久综合亚洲91| 中国成人黄色视屏| 欧美日精品一区视频| 一个人看的www久久| 一区二区三区四区五区在线| 欧美日韩成人在线观看| 99精品福利视频| 午夜日韩在线| 国产精品一区二区久久国产| 亚洲免费综合| 久久精品一区四区| 在线成人小视频| 亚洲国产女人aaa毛片在线| 99re6热只有精品免费观看| 欧美精品久久99久久在免费线| 亚洲欧洲日韩综合二区| 中国亚洲黄色| 国产精品久久久久久久电影| 亚洲专区国产精品| 久久精品亚洲乱码伦伦中文 | 国产精品久久久久一区二区三区共 | 亚洲国产成人高清精品| 免费黄网站欧美| 亚洲乱码国产乱码精品精天堂 | 亚洲永久精品大片| 国产精品亚洲综合色区韩国| 午夜免费久久久久| 久久一区二区三区av| 亚洲国产高清高潮精品美女| 99国产精品国产精品久久| 欧美日韩色一区| 亚洲一区免费视频| 久久久国产精品一区| 亚洲国产欧美在线人成| 亚洲综合不卡| 好吊色欧美一区二区三区视频| 日韩视频二区| 国产精品一区免费在线观看| 亚洲福利专区| 欧美激情一区| 在线中文字幕一区| 久久xxxx| 亚洲精品久久久久| 欧美在线视频观看| 亚洲第一在线视频| 亚洲免费影院| 精品福利av| 亚洲一区二区三区国产| 国产日韩一区二区三区在线播放| 亚洲精品欧美日韩| 国产精品一卡| 日韩视频在线你懂得| 国产日本欧美在线观看| 亚洲精品一级| 国产视频在线一区二区| 亚洲黄色精品| 99re热这里只有精品免费视频| 国产精品女主播在线观看| 亚洲国产精品成人综合色在线婷婷 | 午夜日韩电影| 欧美乱大交xxxxx| 欧美在线一二三四区| 欧美三日本三级少妇三99| 欧美一区=区| 欧美丝袜一区二区| 亚洲国产小视频| 国产精品视频yy9099| 91久久视频| 国产亚洲欧美一区二区| 这里只有精品视频| 亚洲成人在线网站| 久久电影一区| 夜夜爽夜夜爽精品视频| 免费日韩精品中文字幕视频在线| 亚洲手机在线| 欧美日韩国产在线观看| 亚洲国产精品黑人久久久| 国产精品乱码妇女bbbb|