自定义view————卡券
最近修改公司商城项目,需要加入优惠券/卡券,今天就给大家带来自定义view————卡券,效果图如下
分析一下过程:因为除了背景以外,里面还要放其他的控件,这里采取继承RelativeLayout去画锯齿背景,虽然也可以继承LinearLayout,但是考虑到布局的嵌套问题还是最终选取了RelativeLayout,然后根据宽度计算出能放多少个圆,然后剩余多少宽度,然后两边对半分
计算圆数量
view的宽度=圆+间距+多余宽度,因此我们先写固定的圆半径、圆与圆之间的间距、然后计算出能放多少个圆
|
|
但是又考虑到平分的时候宽度还有剩余的,为了视觉更佳,将剩余宽度一分为二放首尾
画锯齿背景
计算出view的宽度和高度,根据计算的圆数量进行循环画圆,y轴分别为0,mheight
大致效果已经出来了,现在将自定义属性写成xml中可自定义的
属性设置
attrs.xml
自定义view中获取属性进行设置
xml中应用
然后效果图就是上面的了