首页 > 系统 > Android > 正文

Android基础知识_01像素的单位

2019-11-09 16:43:15
字体:
来源:转载
供稿:网友
总是感觉基础知识不够扎实,所以我决定来一次Android基础知识大扫荡。内容主要以参考网上的优秀博文和自己平时的一些心得,加油吧。

Android最常用到的单位有三种:px(像素)、dp(也可以说是dip)、sp(和dp一样但是适用于设置字体的大小)。

平时设置大小的时候尽量使用dp来设置,这样可以让布局文件在不同的分辨率的手机上显示的效果大致相同。还有一点是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);  }  这里的方法设置成静态的,搞一个Util类就可以直接在代码里面引用了,非常的方便。代码中的 "+ 0.5f" 是因为java中的浮点型强转为整型时,是只保留整数部分,加上这个0.5f可以达到四舍五入的效果。

还有一个问题是为什么设置字体的时候要使用sp而不建议使用px呢?这是因为使用sp可以随着系统字体 小、普通、大、超大而随之改变,dp就没有这样的效果,所以对字体的大小设置效果的时候建议使用的是sp为单位。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表