关于安卓竖直图片拼接的自定义控件实现
2020-05-29 本文已影响0人
motosheep
标题:关于安卓竖直图片拼接的自定义控件实现(模仿咸鱼商品详情页图片控件)
本文主要简述,关于一个自定义view的控件实现,具体看图:
如图,自定义控件实现了多个图片在竖直方向上的拼接,实现思路:
1图片源的传入
2图片控件高度的设置(竖直方向采用linearlayout的vertical属性,圆角处理使用cardview)
原理:
最外层是一个cardview,二层是linearlayout,最里层是ImageView。
传入的图片源是一个Bitmap的集合,通过集合,可以计算出:
1单个图片的高度
2外层布局的高度
so,遍历了集合以后,宽高都能设置好了
核心代码截图:
其中,红色框,除以2,是为了防止图片过大,导致用户浏览时的体验不好,所以直接简单粗暴除以二。
真正使用的情况下,我们应该根据手机的屏幕宽高来进行具体的设置。
备注:对于外部传入的List<Bitmap>,可以有很多方法实现,作者使用的是glide进行生成。
易错点:
1、控件的宽高设置,需要在addview以后,才能设置,否则会报异常
2、注意区分控件在自定义时候的层级关系
最后附上源码:
https://www.jianshu.com/p/f91972179f24