学习笔记7: 屏幕尺寸相关及 dp,px,sp间换算

来源:互联网 发布:东盛安防监控软件 编辑:程序博客网 时间:2024/04/30 13:47

1.屏幕参数:

a.屏幕大小 - 如4.7寸屏幕  指的是手机对角线的长度(1寸 = 3.33cm)

b.分辨率 - 如 720 x 1280 就是屏幕分辨率  长和宽各有1280和720像素

c.PPI - Pixels Per Inch,DPI(Dots Per Inch),计算公式:PPI=√(长²+宽²)开方 ÷屏幕尺寸。 一般400PPI已经是非常高的屏幕密度了

未标题-1.jpg


2.android 系统定义的屏幕密度

密度ldpimdpihdpixhdpixxhdpi密度值120160240320480分辨率240x320320x480480x800720x12801080x1920
QQ截图20151029145212.jpg

3.像素密度dp

当手机密度为mdpi时, 1dp = 1px

其它屏幕像素则可以通过比例得到  ldpi:mdpi:hdpi:xhdpi:xxhdpi = 3:4:6:8:12


4.单位转换的工具方法

java/utils/tools.java

package utils;import android.content.Context;/** * Created by Administrator on 2016/1/11. */public class tools {    /**     * 将px值转换为dip或dp值,保证尺寸大小不变     *     * @param pxValue     * @param scale     *            (DisplayMetrics类中属性density)     * @return     */    public static int px2dip(Context context, float pxValue) {        final float scale = context.getResources().getDisplayMetrics().density;        return (int) (pxValue / scale + 0.5f);    }    /**     * 将dip或dp值转换为px值,保证尺寸大小不变     *     * @param dipValue     * @param scale     *            (DisplayMetrics类中属性density)     * @return     */    public static int dip2px(Context context, float dipValue) {        final float scale = context.getResources().getDisplayMetrics().density;        return (int) (dipValue * scale + 0.5f);    }    /**     * 将px值转换为sp值,保证文字大小不变     *     * @param pxValue     * @param fontScale     *            (DisplayMetrics类中属性scaledDensity)     * @return     */    public static int px2sp(Context context, float pxValue) {        final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;        return (int) (pxValue / fontScale + 0.5f);    }    /**     * 将sp值转换为px值,保证文字大小不变     *     * @param spValue     * @param fontScale     *            (DisplayMetrics类中属性scaledDensity)     * @return     */    public static int sp2px(Context context, float spValue) {        final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;        return (int) (spValue * fontScale + 0.5f);    }}





0 0
原创粉丝点击