Android中图片与屏幕密度

在drawable中的图片在不同密度的设备上显示时,在屏幕上的占比是不一样的。

如:160px的图片,在800x480的屏幕上显示:

密度是:

160dpi时,占屏幕的三分之一  (=160px/480px)。

240dpi时,占屏幕的二分之一(>160px/480px)。


如何保持图片在不同密度的设备上,图片显示相同的像素数?

方法A:

为不同密度的设备,准备相应的图片,放在对应的drawable-?dpi中。

优点:可以为不同密度的设备,准备对应密度的图片,可以做到图片在哪种密度上都很清晰细腻。

缺点:图片比较多,增加图片制作的工作量;

方法B:

只准备一组图片,将图片放到drawable-nodpi中。

优点:减少了图片的数量;

确定:图片可能被拉伸而导致不细腻;

方法C:

使用px指定图片的大小


理解DPI

  是密度density的测量单位,dots per inch 每英寸内的像素数。

理解DIP

是指定大小的单位,device independent pixels设备独立像素,应该是Density-independent pixel 即与设备的密度无关,有DIP指定的控件大小,在不同密度的设备上,显示的大小相仿。

pixels = dip * (density / 160).


注:显示图片的大小与图片本身的dpi没有关系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值