Giter Club home page Giter Club 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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.