android如何设置自适应大小的背景图片,Android 背景图片自适应方案

本文探讨了在Android开发中如何使背景图片自适应不同尺寸的组件,避免失真。首先介绍了使用nine-patch(*.9.png)图片的方法,然后针对图片存放在自定义目录下无法生效的问题,深入研究了图片的头信息,并通过编程方式为普通图片添加类似nine-patch的拉伸信息,成功实现了背景图片的自适应缩放。
摘要由CSDN通过智能技术生成

在做移动中间件的过程中,遇到了背景图片自适应的问题,比如一个Button的背景图片,如何让一张图片能够在不同高宽的场景下做到不失真。

在做移动中间件的过程中,遇到了背景图片自适应的问题,比如一个Button的背景图片,如何让一张图片能够在不同高宽的场景下做到不失真。

方案一: 刚开始想到的一个方案是用android的 nine-patch (又称“九妹”),*.9.png的图片是标准的png格式的图片,只是在外边1px的区域增加了边框,定义了缩放区域,只有上方黑线和左边黑线的交会区域会被拉伸,如下图所示:

84c3d14086d53c9b835bb93534061e2c.png

将图片放在 drawable 目录下,本文中我以一个项目为例子去比较出加载的效果,在一个页面里设置两个button,一个用点9的图片,另一个用普通的图片,运行后的效果如下,从图上可以看到,点9的图片实现了背景缩放不失真,达到了想要的效果。

80b5a23b0195c3ab2ffbb641dfaf7979.png

但往往事情并不是那么简单就可以解决的,在我们开发过程中,我们的产品在用户使用的过程中,图片是放在自定义目录下的,而没有放在dra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值