中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android手機屏幕px與dp互轉的工具類

發布時間:2020-08-29 22:17:08 來源:腳本之家 閱讀:180 作者:徐劉根 欄目:移動開發

dp(dip): device independent pixels(設備獨立像素). 不同設備有不同的顯示效果,這個和設備硬件有關,一般我們為了支持WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。dp也就是dip,這個和sp基本類似。如果設置表示長度、高度等屬性時可以使用dp 或sp。但如果設置字體,需要使用sp。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果屏幕密度為160,這時dp和sp和px是一 樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設還是3.2寸),而屏幕密度變成了320。那么原來TextView的寬度 設成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。但如果設置成160dp或160sp的話。系統會自動 將width屬性值設置成320px的。也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統會根據屏幕密度的變化自動進行轉換。

px: pixels(像素). 不同設備顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多。

代碼如下:

import android.content.Context;
public class DensityUtil {
  private static float scale;
  /**
   * 根據手機的分辨率從 dp 的單位 轉成為 px(像素)
   */
  public static int dip2px(Context context, float dpValue) {
    if (scale == 0) {
      scale = context.getResources().getDisplayMetrics().density;
    }
    return (int) (dpValue * scale + 0.5f);
  }
  /**
   * 根據手機的分辨率從 px(像素) 的單位 轉成為 dp
   */
  public static int px2dip(Context context, float pxValue) {
    if (scale == 0) {
      scale = context.getResources().getDisplayMetrics().density;
    }
    return (int) (pxValue / scale + 0.5f);
  }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富顺县| 大埔县| 洛扎县| 绥棱县| 龙里县| 南郑县| 西和县| 临城县| 石景山区| 临泉县| 南丰县| 定日县| 桂林市| 金坛市| 苍梧县| 延庆县| 子长县| 略阳县| 长乐市| 墨脱县| 冀州市| 峡江县| 高唐县| 揭东县| 四子王旗| 鄱阳县| 西峡县| 隆化县| 淅川县| 淮滨县| 敖汉旗| 博乐市| 南部县| 宜春市| 洛浦县| 甘孜县| 漳平市| 都兰县| 松溪县| 昌都县| 双鸭山市|