`

dip单位的使用心得

dip 
阅读更多

举个例子区别px和dip:
px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。
而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。

public static int dip2px(Context context, float dipValue){
                final float scale = context.getResources().getDisplayMetrics().density;
                return (int)(dipValue * scale + 0.5f);
        }
       
    public static int px2dip(Context context, float pxValue){
                final float scale = context.getResources().getDisplayMetrics().density;
                return (int)(pxValue / scale + 0.5f);
        }

 

 

总结:不管屏幕的分辨率是多少,都可以理解为:使用dip单位,都会把屏幕的高分成480分,宽分成320分,即(480x320 dip)。

只要你设置160dip,在任何分辨率的设备上都会占屏幕的一半。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics