新手Android中px=dp*(dpi/160)的解释 5

在160dpi的手机上1px=1dp那么320dpi的手机上,不应该为1px=2dp吗?为啥资料上都是1dp=2px?... 在160dpi的手机上1px=1dp那么320dpi的手机上,不应该为1px=2dp吗?为啥资料上都是1dp=2px? 展开
 我来答
微博honey_11
2016-11-30 · TA获得超过191个赞
知道小有建树答主
回答量:304
采纳率:100%
帮助的人:341万
展开全部

在160dpi的手机上1px=1dp,这句话的以上是说 ,手机屏幕宽带被分割成了160块,每一块有一个像素点,每一块就是一个dp。  那么1dp=1px

而320dpi的手机上,分辨率是上一个手机的两倍,手机屏幕宽带也被分割成了160块,每一块有两个像素点,每一块也是一个dp,那么1dp=2px

上面分析来自于android学习手册,360手机助手中可以下载,里面有108个android例子,源码文档都可在里面看,下面是截图

下面是dp与px的转换公式,也来自android学习手册,经常使用。

import android.content.Context;  
  
public class DensityUtil {  
  
    /** 
     * 根据手机的分辨率从 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);  
    }  
}
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式