GithubHelp home page GithubHelp logo

awesome-view's Introduction

自定义View

自定义View主要掌握以下四块内容:

  1. 绘制机制:掌握onMeasure,onLayout,onDraw及相关类的使用。
  2. 事件传递机制:掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑.
  3. 属性动画,因为属性动画核心是对数值的变化,使用属性动画对值View做动画操作。
  4. 相关手势类。

####一.View绘制机制

掌握onMeasure,onLayout,onDraw及相关类的使用。

  1. 绘制机制
    view的绘制流程讲的最好的就是《Android开发艺术探究》这本书了,如果你还不是一名高工,想从事Android开发,这本书必备。不过还是给大家推荐一篇博文,相信很多人已经看过了
    公共技术点之 View 绘制流程
  2. 相关类的使用,主要是在onDraw()方法里,Paint、Cavan、Matrix等类的使用。

####GcsSloop---自定义View系列
* 安卓自定义View基础 - 坐标系 * 安卓自定义View基础 - 角度弧度 * 安卓自定义View基础 - 颜色
* 安卓自定义View进阶 - 分类和流程 * 安卓自定义View进阶 - 绘制基本图形 * 安卓自定义View进阶 - 画布操作 * 安卓自定义View进阶 - 图片文字 * 安卓自定义View进阶 - Path基本操作 * 安卓自定义View进阶 - 贝塞尔曲线 * 安卓自定义View进阶 - Path完结篇(伪) * 安卓自定义View进阶 - Path玩出花样(PathMeasure) * 安卓自定义View进阶 - Matrix原理 * 安卓自定义View进阶 - Matrix详解 * 安卓自定义View进阶 - Matrix Camera * 安卓自定义View进阶 - 事件分发机制原理

####二.事件传递机制

掌握dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑.

讲的最好的,最易懂的就是《Android群英传》,这里也为大家推荐一篇博客,还是出自codeKK

公共技术点之 View 事件传递 ####三.属性动画 公共技术点之 Android 动画基础

##值的学习的五个自定义View开源项目

  1. NumberProgressBar(代码家)
    这个项目可以熟练掌握如何控制view在界面中的位子

  1. SmallChart
    项目包括折线图、曲线图(可填充)、柱状图、扇形图、雷达图的绘制,让你熟练使用draw()相关类。

3. [CircleImageView](https://github.com/hdodenhof/CircleImageView) 一个圆形的ImageView

4. [PhotoView](https://github.com/chrisbanes/PhotoView) 对ImageView支持各种手势操作,缩放、移动、旋转...熟练掌握手势操作。
  1. AndroidSwipeLayout
    综合

awesome-view's People

Contributors

xinghongfei avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.