我反编译了一个apk文件时看见了这两个方法,但不是很清楚,所以想问一下,
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
}
1、这两个方法在实际开发中一般都怎么用,能起什么作用,有没有别的方式可能代替?2、density的值是怎么取得的,也就是说是由什么决定的;另外分辨率是否会影响density的值,density和dip到底有什么关系?
希望能大家能谈一下经验,不胜感激。。
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
}
1、这两个方法在实际开发中一般都怎么用,能起什么作用,有没有别的方式可能代替?2、density的值是怎么取得的,也就是说是由什么决定的;另外分辨率是否会影响density的值,density和dip到底有什么关系?
希望能大家能谈一下经验,不胜感激。。
解决方案 »
- android连接WebService不成功,求助
- 用google direction获取路径问题
- ICS4.0 QuickSearchBox清除快捷方式的bug,有人知道怎么解吗?
- 设置背景图片的问题
- 发布android应用注意事项
- This tag and its children can be replaced by one <TextView/> and a compound draw
- 我想在位图上涂鸦,可以吗?
- 求android市场的界面源码
- 急!!!!phonegap用jsonp实现跨域,在浏览器测试中没有问题,不过到了Android的模拟器中没有反应。
- cocos2d-android 自定义sprite类
- Android SMSPopup源码问题求助。
- 在android应用程序中如何打开关闭GPS,在线等高手
程序中你写的都px, 跟设备有关系的,不转化大小显示会在不同机器中显示不同