免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

androidpt,Androidptoln

Android中dip,dp,sp,pt和px的區(qū)別

Android 開發(fā)字體的大小需要用google提供的sp單位,而控件的大小需要使用dip 或者dp。

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、沈河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

1. dp(或者dip device independent pixels)一種基于屏幕密度的抽象單位。在每英寸160點(diǎn)的顯示器上,1dp=1px。不同設(shè)備有不同的顯示效果,這個(gè)和設(shè)備硬件有關(guān)。

2. sp(Scaled Pixels)主要用于字體顯示,與刻度無關(guān)的一種像素,與dp類似,但是可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放。

3. xp即像素,1px代表屏幕上一個(gè)物理的像素點(diǎn),px單位不被建議使用,因?yàn)橥瑯?00px的圖片,在不同手機(jī)上顯示的實(shí)際大小可能不同。

Android 的單位 pt 轉(zhuǎn) dp

最近做 Android 項(xiàng)目的設(shè)計(jì)方案為 iphone 的,直接那里就用到 android 上,為了保持一致性并且適應(yīng)到各種屏幕尺寸上,所以安裝 pt 第三方庫,可以將尺寸支持 pt 同時(shí)兼容各種屏幕。不過因?yàn)?pt 所以在 design 視圖因?yàn)?pt 的原因而無法正確地預(yù)覽視圖,進(jìn)行調(diào)整和布局視圖。所以自己寫了一個(gè)腳本將 dimens.xml 中的 pt 單位切換為 dp 便于可視化開發(fā)。發(fā)布后在切換為 pt。

腳本開始用 nodejs 寫的,雖然可以實(shí)現(xiàn)但是和 Android 項(xiàng)目兼容不算好。所以決定用 gradle 寫個(gè)任務(wù)。大家可以參考,不是最終版本。

版本 1.0.0

檢查文件是否存在 dimens.dp.xml

如果存在則刪除 dimens.dp.xml 文件

如果不存在新建一個(gè) dimens.dp.xml 文件

逐行讀取 dimens.xml 文件

判斷此行是否 dimen 標(biāo)簽

通過正則表達(dá)式獲取 pt 數(shù)值

將 pt 數(shù)值轉(zhuǎn)換為對(duì)應(yīng)的 dp 數(shù)值

將 pt 單位替換為 dp 數(shù)值

替換后的行寫入 dimens.dp.xml 文件

將 dimens 文件修改名稱為 dimens.pt.xml

將 dimens.dp.copy.xml 復(fù)制一份

將復(fù)制出的 dimens.dp.copy.xml 修改 dimens.xml

android中pt怎么轉(zhuǎn)成sp

先看下TypedValue.appplyDimension的源碼

[mw_shl_code=java,true]public static float applyDimension(int unit, float value, DisplayMetrics metrics) {

switch (unit) {

case COMPLEX_UNIT_PX:

return value;

case COMPLEX_UNIT_DIP:

return value * metrics.density;

case COMPLEX_UNIT_SP:

return value * metrics.scaledDensity;

case COMPLEX_UNIT_PT:

return value * metrics.xdpi * (1.0f/72);

case COMPLEX_UNIT_IN:

return value * metrics.xdpi;

case COMPLEX_UNIT_MM:

return value * metrics.xdpi * (1.0f/25.4f);

}

return 0;

}[/mw_shl_code]

從代碼中可以看到pt轉(zhuǎn)px和sp轉(zhuǎn)px的方法,所以轉(zhuǎn)換成px再轉(zhuǎn)成sp就可以了,可以自己寫個(gè)方法一次轉(zhuǎn)換啦:

[mw_shl_code=java,true]value * metrics.xdpi * (1.0f/72) / metrics.scaledDensity = value * metrics.xdpi * (1.0f/(72 * metrics.scaledDensity);[/mw_shl_code]

不然先算出px再從px算pt的話有兩次精度損失。

本文標(biāo)題:androidpt,Androidptoln
網(wǎng)頁URL:http://m.newbst.com/article8/dssihip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化自適應(yīng)網(wǎng)站網(wǎng)頁設(shè)計(jì)公司全網(wǎng)營(yíng)銷推廣云服務(wù)器網(wǎng)站改版

廣告

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

成都app開發(fā)公司