Android 实现背景图片不被拉伸的效果 9-patch图片 .9图

今天碰到个需求,要求不同手机分辨率背景照片不能被拉伸,除了调用系统方法计算当前屏幕大小这个方法外还有一个就是9-patch图片,可以实现除了icon剩下的部位被缩放。

方法:资源文件右击找到9-patch,转为XXX.9.png照片

然后打开图片,进行编辑;

精髓就是这张图;

.9图原理,黑色横线作用
顶部横线代表水平延伸的时候,其他位置不变,此处横线做水平延伸的部分。

底部横线代表水平延伸的时候,内容在水平方向的显示区域。

左方竖线代表竖直延伸的时候,其他位置不变,此处横线做竖直延伸部分。

右方竖线代表竖直延伸的时候,内容在竖直方向的显示区域。   

左侧绿色部分为可拉伸部分,右侧紫色为拉伸过后展示的效果图片;

写完最后在app的build.gradle中的android下面配置以下两项忽略;

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

实现的效果就是在不同分辨率下,List列表的背景icon不会被拉伸变形。

详细可参考原作者:

开发必备的图片格式——.9图的原理和陷阱-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值