1. 程式人生 > >002.像素和dip之間的相互轉換

002.像素和dip之間的相互轉換

isp sta edi hdp ext comment 相互轉換 start splay

android不同屏幕之間像素和dip的轉換比例是不一樣的:

2 px = 3 dip if dpi == 80(ldpi), 320x240 screen
1 px = 1 dip if dpi == 160(mdpi), 480x320 screen
3 px = 2 dip if dpi == 240(hdpi), 840x480

方法:

  1. // dip轉像素
  2. public int DipToPixels(Context context, int dip) {
  3. final float SCALE = context.getResources().getDisplayMetrics().density;
  4. float valueDips = dip;
  5. int valuePixels = (int) (valueDips * SCALE + 0.5f);
  6. return valuePixels;
  7. }
  8. // 像素轉dip
  9. public float PixelsToDip(Context context, int Pixels) {
  10. final float SCALE = context.getResources().getDisplayMetrics().density;
  11. float dips = Pixels / SCALE;
  12. return dips;
  13. }

002.像素和dip之間的相互轉換