成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android學(xué)習(xí)--屏幕適配-創(chuàng)新互聯(lián)

對于從事android應(yīng)用開發(fā)的朋友來說都應(yīng)該知道,現(xiàn)在的安卓手機的屏幕類型十分繁多, 大小尺寸,長寬比例都不盡相同,同一個界面在不同分辨率的手機上可能出現(xiàn)布局錯亂,控件跑位的現(xiàn)象。做屏幕的適配不可能實現(xiàn)在每種屏幕上顯示出的界面 效果完全一致。只能靠平時的編程習(xí)慣和經(jīng)驗是的界面在不同的屏幕尺寸在不會出現(xiàn)過分的走位,在可遇見范圍內(nèi)控制界面在不同屏幕下的變化,并做出相應(yīng)調(diào) 整。那么偶們應(yīng)該如何做到屏幕的適配呢?下面我就以我的開發(fā)經(jīng)驗來說說吧。

在坪山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,坪山網(wǎng)站建設(shè)費用合理。

1、盡量使用線性布局(LinearLayout)和相對布局(RelativeLayout),不要使用絕對布局。

2、盡量使用dip和sp,不要使用px。

3、為不同的分辨率提供不同的布局文件和圖片。

3.1)界面布局方面

  需要根據(jù)物理尺寸的大小準備5套布局,layout(放一些通用布局xml文件,比如界面中頂部和底部的布局,不會隨著屏幕大小變化,類似windos窗口的title bar),layout-small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之間),layout-xlarge(7-10英寸之間)

3.2)圖片資源方面

 需要根據(jù)dpi值準備5套圖片資源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi

Android有個自動匹配機制去選擇對應(yīng)的布局和圖片資源

    4.能夠使用權(quán)重的地方盡量使用權(quán)重(android:layout_weight)

5.在AndroidMainfest.xml中設(shè)置多分辨率支持。

Android屏幕適配必須要理解的一些概念:

  • px

是英文單詞pixel的縮寫,意為像素,屏幕上的點。我們通常所說的分辨率如480X800就是指的像素。

在設(shè)計領(lǐng)域中,像素是用來計算數(shù)碼影像的最小單位。計算機中顯示的圖像并非連續(xù)的線條組成,而是由許多肉眼看不見的小點組成。如果把影像放大數(shù)倍,會發(fā)現(xiàn)這些連續(xù)色調(diào)其實是由許多色彩相近的小點所組成,這些小點就是構(gòu)成影像的最小單位“像素”。

  • in

表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如我們經(jīng)常說的手機屏幕大小有,5(英)寸、4(英)寸就是指這個單位。這些尺寸是屏幕的對角線長度。如果手機的屏幕是4英寸,表示手機的屏幕(可視區(qū)域)對角線長度是4 X 2.54 = 10.16厘米。

  • dpi

dpi是Dots Per Inch的縮寫, 每英寸點數(shù),即每英寸包含像素個數(shù)。比如320X480分辨率的手機,寬2英寸,高3英寸, 每英寸包含的像素點的數(shù)量為320/2=160dpi(橫向)或480/3=160dpi(縱向),160就是這部手機的dpi,橫向和縱向的這個值都是相同的,原因是大部分手機屏幕使用正方形的像素點。

  • density

屏幕密度,density和dpi的關(guān)系為 density = dpi/160

  • dp

也即dip,設(shè)備獨立像素,device independent pixels的縮寫,Android特有的單位,在屏幕密度dpi = 160屏幕上,1dp = 1px。

  • sp

和dp很類似,一般用來設(shè)置字體大小,和dp的區(qū)別是它可以根據(jù)用戶的字體大小偏好來縮放。

layout_weight屬性

這個屬性其實很好用,一般和android:layout_height="fill_parent"或 android:layout_width="fill_parent"一起使用,它用于描述該子元素在剩余空間中占有的大小比例。加入一行只有一個文本 框,那么它的默認值就為0,如果一行中有兩個等長的文本框,那么他們的android:layout_weight值可以是同為1。如果一行中有兩個不等 長的文本框,那么他們的android:layout_weight值分別為1和2,那么第一個文本框?qū)⒄紦?jù)剩余空間的三分之二,第二個文本框?qū)⒄紦?jù)剩余 空間中的三分之一。android:layout_weight遵循數(shù)值越小,重要度越高的原則。android屏幕如此繁多,不可能都是等比例縮放的, 所以單純使用dip來設(shè)置控件也是行不通,與layout_weight屬性靈活結(jié)合使用,增強界面的適應(yīng)性。

drawable資源

首先:你需要在AndroidManifest.xml文件的元素如下添加子元素

<supports-screens android:anyDensity="true"  android:largeScreens="true"  android:normalScreens="true"  android:smallScreens="true"  android:xlargeScreens="true" />

名如其意,以上是為我們的屏幕設(shè)置多分辨率支持(更準確的說是適配大、中、小三種密度)。android:anyDensity="true" ,這一句對 整個的屏幕都起著十分重要的作用,值為true,我們的應(yīng)用程序當(dāng)安裝在不同密度的手機上時,程序會分別加載hdpi,mdpi,ldpi文件夾中的資 源。相反,如果值設(shè)置為false,即使我們在hdpi,mdpi,ldpi文件夾下?lián)碛型环N資源,那么應(yīng)用也不會自動地去相應(yīng)文件夾下尋找資源,這種 情況都是出現(xiàn)在高密度,以及低密度的手機上,比如說一部240×320像素的手機,如果設(shè)置 android:anyDensity="false",Android系統(tǒng)會將240 x 320(低密度)轉(zhuǎn)換為 320×480(中密度),這樣的 話,應(yīng)用就會在小密度手機上加載mdpi文件中的資源。
細心的人會發(fā)現(xiàn)自 android2.0開始之后drawable文件被三個文件夾drawable-hdpi,drawable-mdpi,drawable-ldpi三 個文件夾所取代,有些編程人員為了讓應(yīng)用程序默認地加載某些圖片,他們會特意地去在android2.0之后的應(yīng)用程序中重新創(chuàng)建drawable文件 夾,其實這樣做完全沒有必要,通過第一段的分析我們得知,android:anyDensity="false",則應(yīng)用會將大小密度轉(zhuǎn)變成中密度,從而 去加載mdpi中的資源。這里同樣,當(dāng)android:anyDensity="false",則應(yīng)用會去加載mdpi中的資源。

總結(jié)一下:

第一:android:anyDensity="true",系統(tǒng)會依據(jù)屏幕密度,自動去找對應(yīng)的文件夾

第二:android:anyDensity="false",

(1)如果drawable-hdpi,drawable-mdpi,drawable-ldpi三個文件夾中有同一張圖片資源的不同密度表示,那么系統(tǒng)會去加載

drawable_mdpi文件夾中的資源

(2)如果drawable-hpdi中有高密度圖片,其它兩個文件夾中沒有對應(yīng)圖片資源,那么系統(tǒng)會去加載drawable-hdpi中的資源。

(3)如果drawable-hdpi,drawable-mdpi中有圖片資源,drawable-ldpi中沒有對應(yīng)的圖片資源,那么系統(tǒng)會加載drawable-mdpi文件夾中的資源

注意上圖各種文件夾的不同表示。

drawable-hdpi 該圖片即適用于橫屏,也適用于豎屏

drawable-land-hdpi,當(dāng)屏幕為橫屏,且為高密度時,加載此文件夾中的資源

drawable-port-hdpi,當(dāng)屏幕為豎屏,且為高密度時,加載此文件夾中的資源

draw9patch工具

android SDK 包的tools目錄下為偶們提供了這么一個圖片處理工具。有時候偶們需要圖片資源自適應(yīng)且不失真,無論橫屏還是豎屏,高分辨率還是低分辨率,都能自動填充 滿,而且不失真等等背景問題。 Android針對這種情況,專門制作了一種.9.PNG格式來解決這個問題。draw9patch就是幫助偶們制 作.9.PNG格式資源的一個小工具。
*.9.PNG就標準的PNG格式,只是在最外面一 圈額外增加1px的邊框,這個1px的邊框就是用來定義圖片中可擴展的和靜態(tài)不變的區(qū)域。特別說明,left(左)和top(上)邊框中交叉部分是可拉伸 部分,未選中部分是靜態(tài)區(qū)域部分。right和bottom(下和右)邊框中交叉部分則是內(nèi)容部分。

Android學(xué)習(xí)--  屏幕適配

如上圖《也就是說,在手機里。無論上面那張圖怎么放大,四周的圓角都是不會被放大的!只有l(wèi)eft(左)和top(上)邊框內(nèi)才會伸縮!
在 Android中以9.PNG格式的圖片未背景,則能夠自定義拉伸而不失真,比如系統(tǒng)的Button就是一個典型的例子。其實呢,無論是left和 top,還是right和bottom都是把圖片分成9塊 (邊角四塊是不能縮放的,其他的四塊則是允許縮放的),所以叫做9.PNG。
關(guān)于draw9patch工具的使用在此不做闡述,需要的可以自己去百度一下。

Layout資源

有時候可能由于屏幕布局過于復(fù)雜,同一個布局文件很難適應(yīng)所有的屏幕分辨率??梢韵馾rawable資源一樣,在工程的res文件夾下建立多個相應(yīng)的layout文件夾,為相應(yīng)分辨率的屏幕編寫相應(yīng)的layout文件。

文件夾的命名規(guī)范是這樣的:layout-分辨率
例如:layout-320x240 , layout-480x320等等。
系統(tǒng)就會根據(jù)運行環(huán)境的分辨率優(yōu)先加載相應(yīng)的文件夾下的layout布局文件。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:Android學(xué)習(xí)--屏幕適配-創(chuàng)新互聯(lián)
文章位置:http://jinyejixie.com/article14/dhojde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化、ChatGPTApp開發(fā)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
沽源县| 湘潭市| 洛浦县| 垣曲县| 镇沅| 中山市| 无锡市| 阳西县| 略阳县| 翁牛特旗| 贺州市| 江孜县| 兴海县| 唐海县| 墨脱县| 天等县| 万载县| 金门县| 游戏| 雷山县| 兴义市| 谷城县| 资源县| 张家港市| 松桃| 潍坊市| 西宁市| 南城县| 松潘县| 中牟县| 东乡族自治县| 利辛县| 阆中市| 山阳县| 新民市| 枝江市| 漳州市| 阿克| 邹城市| 五家渠市| 高清|