自定义VIew Demo (ViewGroup)

http://blog.csdn.net/hzmming2008/article/details/78258800

横向选择控件

重写 onMeasure
  1. 理解MeasureSpec
    * MeasureSpec 是一个32位的int值,前2位代表(specMode)测量模式 ,后30代表(specSize) 某种测量模式下的规格大小
    * specMode 有三种模式 1 UNSPECIFIED父容器不对VIew大小进行限制2 AT_MOST只指定最大的大小,具体看VIew本身(wrap_content)3 EXACTLY指定VIew的大小,(match_parent或指定值)
  2. setMeasuredDimension(int measuredWidth, int measuredHeight);
  3. measureChildren(int widthMeasureSpec, int heightMeasureSpec);
重写onLayout

过程:在onMeasure获取测量值后将内部的view 通过layout函数画出 (理解类似贴位图)

解决滑动冲突

http://blog.csdn.net/xyz_lmn/article/details/12517911
重点: 事件拦截消费过程,当事件被消费上层的dispatchTouchEvent回返回true,不会向上传递事件,事件被拦截,不会向下传递,而是传递到同级的onTouchEvent,
1.onTouchEvent 2.onInterceptTouchEvent 3.dispatchTouchEvent

滑动

http://blog.csdn.net/guolin_blog/article/details/48719871
VIew滑动的三种方式 1 ScrollBy或scrollTo2 Animator映像动画layoutParam参数
Scroller的基本用法其实还是比较简单的,主要可以分为以下几个步骤:
1. 创建Scroller的实例
2. 调用startScroll()方法来初始化滚动数据并刷新界面
3. 重写computeScroll()方法,并在其内部完成平滑滚动的逻辑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值