为了账号安全,请及时绑定邮箱和手机立即绑定
  • 自定义控件的步骤
    查看全部
  • 自定义控件的步骤 1.自定义属性的声明与获取 2.测量OnMeasure 3.布局onLayout(ViewGroup) 4.绘制onDraw 5.onTouchEvent 6.onTnterceptTouchEvent(ViewGroup)
    查看全部
  • 自定义view
    查看全部
  • 多指触控,ViewGroup保存状态
    查看全部
  • 接下来我们看布局,如果你是自定义view,是但个view并没有viewgroup的话就没有onLayout这个过程的,onlayout是父控件决定自控件显示位置的; 如果你是viewgroup就需要考虑子view显示的样子到底要新显,示到哪? onMeasure可能在一次过程中,可能是测量布局和绘制可能会调用很多次才能最终决定这个值,如果有一些耗时或初始化的操作,能移到onLayout当中就尽可能移到,因为onlayout在这个过程中只会触发一次;比onMeasure较为轻量级 onlayout一般过程 getChildCount拿到每一个View 如果这个VIew不是Gone的状态 计算左上角在哪 右上角在哪 之后调用child。layout,同理也需要requestLayout()去触发,完成布局以后就是onDraw(); 自定义View需要绘制自身的样子,onDraw只要是绘制内容区域的,主要是使用Canvas的 一些API去绘制,当然要熟练的使用Canvas。drawXXX()方法draw line drawssekou,drawair,巧妙使用一些变换的方法,translate,rotate,scale,skew,如果使用这些变换的话千万不要忘记save(),restore(); 如果我们某些属性测量值变换我们怎么去重绘呢;去掉用invalidate,postInvalidate();pos·实在子线程中去调用,在ui线程你可以直接调用invalidate()这样的话draw就结束了 如果在定义一控件没有和用户交互这一过程
    查看全部
  • 测量由两个值决定一个是测量的模式EXACTLY设置一个明确的值100dp match_parentresult直接等于我们这个值了,AT_MOST 只多不能超过某个值 一般出现我们设置的wrap_content值中,最大的尺寸不能超过父空间的高度宽度,UNSPECIFIED 没有限制,一般在listview scrollview中 不可能限制scrollview的子View高度,一个是测量的值, 模式和值一般封装在MeasureSpec这个辅助类中 是父控件 传下来的,传下来以后通过 MeasureSpec。getMode,getsize获取我们所存储的mode和size,之后判断这个mode是否是精确的值,是就直接使用,如果不是,说明我们的尺寸都是自身view决定的 需要自己计算,完以后不要忘了,at——most至多限制,让他不要超过父控件的值; 当我们测量完之后要调用setMeasuredDimension,将最终得到的reult穿进去 如何去触发测量呢,比如说我重新定义了个textView的控件,当文本发生改变,测量应该出发,可以对外提供一个方法,setText();在setText当中调用requestLayout();当执行requestLayout方法的时候就会重新的测量以及去布局;但是要记住它不包括我们的一个绘制,绘制石油invilder去触发的
    查看全部
  • 绘制完如果有和用户交互的部分我们还需要onTouchEvent,如果我们定义的是viewgroup想去拦截子view的一些事件还需要重写inInterceptTouchEvent
    查看全部
  • 自定义控件步骤
    查看全部
  • 布局onLayout(ViewGroup)
    查看全部
  • 自定义目的:1特定的显示风格,2处理特有的用户交互,3优化我们的布局,4封装复用等
    查看全部
  • 自定义控件流程
    查看全部
  • ...
    查看全部
  • The fact
    查看全部
  • 自定义控件要素
    查看全部
  • 222
    查看全部

举报

0/150
提交
取消
课程须知
适用人群: 1.需要有一定的Java基础 2.在初学Android或回顾复习时的小伙们 要求小伙伴们有敏捷的思维和善于思考的能力。
老师告诉你能学到什么?
1.特定显示风格 2.处理特有的用户交互 3.优化布局 4.封装等

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!