Android 9patch 点9文件被缩放的问题解决

遇到一个问题:

制作了一张9patch也就“点9”的背景图片如下


该图片的“尖头”部分我设置为非拉伸区域,“尖头”高度9个像素。

这里我需要这个“尖头”的高度固定为9个像素,但是问题出现,在不同手机中显示的高度值并不都是9个像素!


看到这里,明眼人一定知道我错在哪里了。


原因:我将该文件想当然的放到了drawable文件夹下,就像android API Guide里说的,放到res/drawalbe文件夹下。

当设备的屏幕密度等级为xhdpi时,程序运行时,android系统会将res/drawalbe下的文件先进行*2倍的缩放,因此这时屏幕上“尖头”的高度=9*2也就是18个像素,

同理如果运行在hdpi的设备上,实际显示 9*1.5 个像素值。


好了,解决方法也就这么简单,将“尖头”文件复制到所有的屏幕密度对应的res文件夹下:drawable、drawable-hdpi、drawable-mdpi、drawable-ldpi、drawable-xhdpi等等~~~

这样,9patch文件中不需要拉伸的区域的大小(像素值)就不会因设备不同而出现不同了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值