电竞比分网-中国电竞赛事及体育赛事平台

分享

Android程序?qū)Σ煌謾C屏幕分辨率自適應(yīng)的方法

 aaie_ 2012-09-12
呵呵,相信各位Android開發(fā)愛好者都知道,由于OEM之間的競爭,各種Android操作系統(tǒng)的手機簡直就是琳瑯滿目,屏幕分辨率的差異可想而知。目前比較主流的有WVGA=800x480,HVGA=480x320,另外的還有QVGA=320x240。當(dāng)然還有魅族M9的DVGA=960x640,還有蛋疼的摩托羅拉的FWVGA=854x480。 
    那么,如何讓你的程序可以在不同分辨率的手機上“健康”的跑動呢?

    其實,在你layout的xml文件中,編寫的時候是不是用了許多的padding呢?如果是,那你就蛋疼了。因為這樣的布局永遠(yuǎn)是無法適應(yīng)所有手機屏幕的。正確的做法應(yīng)該是使用weight屬性。

    過程很簡單:首先,將你控件的layout中的width、height設(shè)置為fill-parent,不要使用wrap——content。因為wrap-content的大小是不固定的。而weight(權(quán)重)這個屬性很好的解決了這個問題。

    當(dāng)包裹在控件外面的Layout的width、height屬性都設(shè)置為fill-parent時,可以利用weight的反比特性。即如果控件A設(shè)置weight為9,控件B設(shè)置weight為20,那么A所占的空間為20/(9+20),B所占的空間為9/(9+20)。這樣的反比屬性對任何分辨率下的手機都是合適的。

    當(dāng)然,字體就不行了。那怎么保證字體能夠跟布局一樣能夠自適應(yīng)呢?

    呵呵,很簡單,就是在你的res文件夾中創(chuàng)建一個文件夾,叫做values-320x240。其中320x240是你手機屏幕的分辨率,根據(jù)你手機屏幕的情況做不同的命名,例如values-800x480。在該文件夾下創(chuàng)建一個dimens.xml文件,定義各種字體的大小。那么系統(tǒng)就會自動根據(jù)你手機屏幕的分辨率去調(diào)用響應(yīng)的文件夾。
   另外,值得提醒的是,記得在你默認(rèn)的values文件下的dimens.xml文件中也要寫上相應(yīng)的字體大小哦,因為當(dāng)系統(tǒng)無法認(rèn)識你手機屏幕大小的時候,它會自動去找你默認(rèn)文件中的東西,沒有寫的話程序會崩潰。

    這樣編寫出來的xml文件就是對所有手機屏幕自適應(yīng)的哦親。呵呵O(∩_∩)O~

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多