您的位置:首页 > 其它

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

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

 /** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dip2px(Context context, float dpValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
     */  
    public static int px2dip(Context context, float pxValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (pxValue / scale + 0.5f);  
    }  
用完之后当然要知道道理了,于是看到这篇帖子

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

 

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

还是安心打打游戏了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  getMeasuredHeight dp