Android系统中,默认的单位是像素(px)。也就是说,在没有明确说明的情况下,所有的大小设置都是以像素为单位。
如果以像素设置大小,会导致不同分辨率下出现不同的效果。那么,如何将应用中所有大小的单位都设置为’dp’呢?
/**获取当前分辨率下指定单位对应的像素大小(根据设备信息)
* px,dip,sp -> px
*
* @param unit TypedValue.COMPLEX_UNIT_DIP,TypedValue.COMPLEX_UNIT_SP
* @param value 要转换的值
* @param context 上下文
* @return 转换后的px值
*/
public static float dip2px(int unit,float value,Context context){
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, instance.getResources().getDisplayMetrics());
}
本文介绍Android开发中如何统一使用dp作为尺寸单位,避免不同分辨率设备显示效果不一致的问题,并提供了一个将dp转换为px的实用方法。
4930

被折叠的 条评论
为什么被折叠?



