Android 自定义View之随机数验证码(仿写鸿洋),fluttertextfield边框

注意引入命名空间

xmlns:app=“http://schemas.android.com/apk/res-auto”

2.添加构造方法

新建一个RandomTextView类,继承View,并添加3个构造方法

class RandomTextView : View {

//文本

private var mRandomText: String

//文本颜色

private var mRandomTextColor: Int = 0

//文本字体大小

private var mRandomTextSize: Int = 0

private var paint = Paint()

private var bounds = Rect()

//调用两个参数的构造

constructor(context: Context) : this(context, null)

//xml默认调用两个参数的构造,再调用三个参数的构造,在三个参数构造里获取自定义属性

constructor(context: Context, attributeSet: AttributeSet?) : this(context, attributeSet, 0)

constructor(context: Context, attributeSet: Attr

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

浏览器打开:qq.cn.hn/FTe 免费领取

ibuteSet?, defStyle: Int) : super(context, attributeSet, defStyle) {

}

}

这里要注意的是,所有的构造方法,都指向的是第三个构造方法,前两个构造的继承是this,而不是super

第一个构造比如我们可以是new创建的,第二个是xml中默认调用的,我们在第三个构造中去获取自定义属性。

3.在构造里获取自定义样式

constructor(context: Context, attributeSet: AttributeSet?, defStyle: Int) : super(context, attributeSet, defStyle) {

//获取自定义属性

val typedArray

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值