00-自定义控件

自定义控件

视频学习概要,逐渐补充。

自定义控件的一些概念

  1. 什么是自定义控件
1
在Android系统中,用系统的自带控件重新组合或者自定义类继承View或者自定义类继承ViewGroup,实现特定的UI效果。
  1. 为什么要学习自定义控件

    1. 系统的某一个控件,在不同的设备效果不一样,要统一风格
    2. 整个软件在不同设备风格统一
    3. 系统自带的控件,功能有限,增加功能;或者功能太多了,减掉功能
    4. 自定义控件原则,如果系统可以满足,就不用,虽然可以写出很好的效果,但是会有对应的工作量和bug
  2. 自定义控件的重要性

    1. 面试问题 1. View和ViewGroup的区别 2. Android中事件的传递 3. View的原理
    2. 工作中的需求
  3. 常用控件的回顾

eg: TextView ProgressBar

用系统控件重新绘制

  • 优酷菜单

    1. 分析实现原理
    2. 通过布局实现效果
    3. 代码处理逻辑
    4. 动画原理
    5. 优酷菜单做实验扩展
    6. 扩展知识-动画的分类
    7. 属性动画结解决bug
  • 广告条效果

    1. ViewPager的使用
    2. 广告条的基本功能
      1. 根据页面改变设置文本
      2. 添加指示点
      3. 支持左右无限滑动
      4. 当手滑动或者按下的时间停止滑动
      5. 添加点击事件
    3. ViewPager扩展
    4. 改进成引导页面
  • 下拉框

    1. PopupWindow使用案例
    2. 创建步骤
    3. 代码中直接创建listview
    4. 适配

自定义类继承View

  • 自定义开关

    1. 自定义一个类继承View
    2. View绘制原理(重要)
    3. 开关的点击事件
    4. 开关的滑动事件
    5. 解决事件冲突
  • 自定义属性

    1. 自定义属性步骤
    2. 常用属性(format 常用类型 reference 引用 color 颜色 boolean 布尔值 dimension 尺寸值 integer 整型值 string 字符串 enum 枚举)
    3. 布局文件解析和类的属性的关系
  • 水波纹

    1. 创建一个类
    2. 画一个圆环
    3. 播放动画,慢慢的变大
    4. 点击的时候就开始画圆
    5. 读另外工程的代码
  • 联系人快速索引

自定义类继承ViewGroup

  • 仿viewpager功能
  • 侧滑删除菜单

总结

  1. 学习过程:尚硅谷Android视频教程《自定义控件》 杨光福IT讲师
  2. 跟着视频学习,为自己积累经验。
  3. 这个篇章需要一定的时间进行研究。
  4. 项目在:maoai-xianyu’Github 中总结。