安卓view.getMeasuredHeight()得到的高度单位以及dp和px的转换

今天做个地图,不是用什么百度sdk,直接一个webview嵌入服务器的就好了 我只要传入一个分辨率做参数,因为布局默认有个title占了一部分,我要获得webview的高度和宽度,于是开始学习dp和px的转换顺便看看,于是我开始获取title的高度,突然我想安卓的view.getheight()得到的高度又是什么单位dp ?sp?px?只好自己写了个demo,结果证实,getheight()和getMeasuredHeight()获取得到的都是px单位了,百度一下px和dp的转换得到这个方法了,好直接拿来用了

  1.  /** 
  2.      * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
  3.      */  
  4.     public static int dip2px(Context context, float dpValue) {  
  5.         final float scale = context.getResources().getDisplayMetrics().density;  
  6.         return (int) (dpValue * scale + 0.5f);  
  7.     }  
  8.   
  9.     /** 
  10.      * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
  11.      */  
  12.     public static int px2dip(Context context, float pxValue) {  
  13.         final float scale = context.getResources().getDisplayMetrics().density;  
  14.         return (int) (pxValue / scale + 0.5f);  
  15.     }  

用完之后当然要知道道理了,于是看到这篇帖子

http://blog.csdn.net/zhangqijie001/article/details/5894872

 

问题是解决了,测试发现了webview不填充满屏幕。在左边和头部总是空了几个dp白色的,开始以为是我从服务器获取的分辨率不对,。于是给webview添加了背景色,发现是webview自己没有填充满屏幕,,各种设置都没有用哇。好吧拖鞋了.....

还是安心打打游戏了

你可能感兴趣的:(android前行)