自定义view中遇到的问题--绘制自定义view

自定义view中遇到的问题

【逃避了太久,改变了所有;想换回一点点自由。写博客,记东西】
自定义view是android开发中高手进阶的一个过程,自定义view分为绘制view、组合控件、继承控件三种情况。

一、绘制自定义控件:

绘制自定义控件:所谓绘制自定义控件的意思就是整个控件都是自己绘制出来的。绘制自定义view的步骤:
1.定义要绘制view的属性;2.在要绘制view的构造方法中获取自定义好的属性;3.[onMesure]测量;4.OnDraw。
其中第三步有些情况下不是必选的,直接调用系统自己的OnMeasure就可以了。
在自定义view布局中一定要引入项目package。xmlns:custom=“http://schemas.android.com/apk/res/package值”,其中xmlns:custom的值是包中自定义的属性,即<declare-styleable>中所定义的属性。
我在编写的过程中遇到的问题就是构造方法的问题,因为有一个或者两个参数的构造方法系统都会自己调用,有三个参数的构造方法系统不会自己调用,需要自己显式调用。
现在没有重写OnMeasure方法,系统默认是设置好的宽高,如果没有设置宽高,系统会设置成macth_parent。所以在没有指定宽高时,需要重写OnMeasure方法,
重写之前先了解MeasureSpec的specMode,一共三种类型:
EXACTLY:一般是设置了明确的值或者是MATCH_PARENT
AT_MOST:表示子布局限制在一个最大值内,一般为WARP_CONTENT
UNSPECIFIED:表示子布局想要多大就多大,很少使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值