您的位置:首页 > 移动开发 > Android开发

Android根据分辨率进行单位转换-(dp,sp转像素px)

2014-04-25 10:48 330 查看
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());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分辨率 dp 单位转换