UI在不一樣的屏幕像素或大小中顯示效果可能會不一樣android
一、建議使用盡可能使用線性佈局和相對佈局,基本上不會產生屏幕大小不適應的問題工具
二、設置控件寬高的時候使用單位dip(dp),是根據當前設備大小比例計算出來的佈局
三、文字設置儘可能使用sp單位spa
四、儘可能不使用px設置大小code
像素px和dip相互轉換工具,實現兩種單位的相互轉換,達到適配屏幕的目的blog
工具類:DensityUtilip
1 package cn.itcast.mobilesafe.utils; 2 3 import android.content.Context; 4 5 public class DensityUtil { 6 /** 7 * 根據手機的分辨率從 dp 的單位 轉成爲 px(像素) 8 */ 9 public static int dip2px(Context context, float dpValue) { 10 final float scale = context.getResources().getDisplayMetrics().density; 11 return (int) (dpValue * scale + 0.5f); 12 } 13 14 /** 15 * 根據手機的分辨率從 px(像素) 的單位 轉成爲 dp 16 */ 17 public static int px2dip(Context context, float pxValue) { 18 final float scale = context.getResources().getDisplayMetrics().density; 19 return (int) (pxValue / scale + 0.5f); 20 } 21 }
轉換方法:DensityUtil.dip2px(getApplicationContext(), 180)get