代码中调整图片的大小

遇到一个问题。需要现实来自网络的图片,但是要求不能将图片现实的太大,同时还不能使图片有被拉伸的情况。(这些来自供应商的图片一般都是超大的,却不管流量的问题。)
原来没有对与图片的额外的设置,就是来什么图片我显示什么,至于大小关心不多。设置了在宽度上充满屏,高度维持原高,然后是图片自适应宽高。结果是图片很大,而且还有拉伸效果。也是就改呗

最后的解决方法,或者说我个人的解决方法吧。不高明。
首先就是在xml布局文件中对显示图片的控件进行设置,这里使用了多层的布局嵌套。
 
1,先说最里面的ImageView控件,这是用来盛放图片的控件,这里是图片控件的宽高是充满父容器(或者叫布局),我就可以通过,调整该控件的父容器,实现图片大小的调整。
2,然后是里面的LinearLayout布局,可以注意到这里的设置了ID,为的是在代码中实现对图片大小调整。其实所谓的调整图片的大小,就是对该布局进行大小的调整。因为,在代码中我们可以使用LayoutParams,对布局的大小进行调整。到这里也就实现了基本的要求,但是一般来讲我们显示图片不会让他贴着边显示(至少我当时的需求是不允许贴着边显示)。那么,就在这层布局加上 android:layout_gravity="center_horizontal” 的设置。但是若是我们在代码中改变布局的大小,同时也就重置了layout_gravity的属性回归默认了。
3,最外层的空间的布局设置,在代码中不可控,这层的关键是图片的剧中效果(android:layout_gravity="center_horizontal“),当然如果没有这个需求,那么这层不要也罢。
到这里就完成了,布局文件的设置啦。然后就是在代码中改变中间布局的大小,和给图控件装入图片的工作啦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值