作者: AigeStudio  http://blog.csdn.net/aigestudio

说明:文中的1/12表示12篇中的第1篇, 1/6=2/12表示12篇中的第2篇,其它类似.

自定义控件其实很简单1-初识自定义控件

你只管在里面做你想做的事情就可,至于Android本身内部是如何实现的,你压根不用去管!Just do you things!

初学者不懂如何去自定义View并非是不懂其原理,而是不懂这些类似“档位”的方法!

自定义控件其实很简单2-Paint全解(1)

颜色过滤器ColorFilter (色彩矩阵ColorMatrixColorFilter、光照LightingColorFilter和混合PorterDuffColorFilter)

图像混合模式Xfermode (AvoidXfermode, PixelXorXfermode和PorterDuffXfermode

自定义控件其实很简单3-Paint全解(2)

Paint绘制文字,路径效果PathEffect等

自定义控件其实很简单4-Paint全解(3)

着色器Shader(BitmapShader, LinearGradient, RadialGradient, SweepGradient, ComposeShader)

矩阵Matrix(矩阵相关操作)

自定义控件其实很简单5-Canvas全解(1)

第一是以drawXXX为主的绘制方法,第二是以clipXXX为主的裁剪方法,第三是以scale、skew、translate和rotate组成的Canvas变换方法,最后一类则是以saveXXX和restoreXXX构成的画布锁定和还原,还有一些渣渣方法。

clipXXX方法,路径Path详解

自定义控件其实很简单6-Canvas全解(2)

Canvas变换操作:层的概念,画布锁定和还原saveXXX和restoreXXX,Canvas变换操作

自定义控件其实很简单7-控件的测量(1)

onMeasure和onLayout

自定义控件其实很简单8-控件的测量(2)

onMeasure和onLayout

自定义控件其实很简单9-View的绘制流程

View的绘制流程-“生命周期”

附加:

Android ViewDragHelper完全解析, 自定义ViewGroup神器

ViewDragHelper实战, 自己打造的Drawerlayout

Android自定义控件三部曲系列完全解析(动画, 绘图, 自定义View)

自定义View其实很简单系列1-12的更多相关文章

  1. [转]Android自定义控件三部曲系列完全解析(动画, 绘图, 自定义View)

    来源:http://blog.csdn.net/harvic880925/article/details/50995268 一.自定义控件三部曲之动画篇 1.<自定义控件三部曲之动画篇(一)—— ...

  2. Android自定义view(一):制作一个最最最简单的自定义view

    转载:https://blog.csdn.net/wsyizmao/article/details/78491422 浅谈安卓自定义view(一):制作一个最最最简单的自定义view 对于安卓程序员来 ...

  3. Android自定义View(一、初体验自定义TextView)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51454685 本文出自:[openXu的博客] 目录: 继承View重写onDraw方法 自 ...

  4. 【朝花夕拾】Android自定义View篇之(四)自定义View的三种实现方式及自定义属性使用介绍

    前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然 ...

  5. 自定义View(二)--继承自ViewGroup

    自定义View包括很多种,上一次随笔中的那一种是完全继承自View,这次写的这个小Demo是继承自ViewGroup的,主要是将自定义View继承自ViewGroup的这个流程来梳理一下,这次的Dem ...

  6. 分析实现Android自定义View之扇形图

    继承View基类,画了这样的扇形图 直接来步骤吧 (参考了GcsSloop的教程) 1.分析 自定义View需要认真的分析下,里面还是会用到一些数学知识 首先是扇形该怎么表现 1. 扇形的外观是个圆弧 ...

  7. SpringBoot-dubbo自定义负载均衡实现简单灰度

    本文介绍如何利用dubbo自定义负载实现简单灰度(用户纬度,部分用户访问一个服务,其余访问剩余服务). 其实在这之前,对dubbo了解的也不是很多,只是简单的使用过,跑了几个demo而已,但是得知接下 ...

  8. wing带你玩转自定义view系列(2) 简单模仿qq未读消息去除效果

    上一篇介绍了贝塞尔曲线的简单应用 仿360内存清理效果 这一篇带来一个  两条贝塞尔曲线的应用 : 仿qq未读消息去除效果. 转载请注明出处:http://blog.csdn.net/wingicho ...

  9. 转载爱哥自定义View系列--文字详解

    FontMetrics FontMetrics意为字体测量,这么一说大家是不是瞬间感受到了这玩意的重要性?那这东西有什么用呢?我们通过源码追踪进去可以看到FontMetrics其实是Paint的一个内 ...

随机推荐

  1. Linux0.11内核--进程调度分析之1.初始化

    [版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5596746.html ] 首先看main.c里的初始化函数main函数里面有个函数是对进程调度 ...

  2. AlertDialog的六种创建方式

    AlertDialog的六种创建方式 创建AlertDialog的步骤: 1.创建AlertDialog.Builder对象 2.调用Builder对象的setTitle方法设置标题,setIcon方 ...

  3. MacDown语法教程

    MacDown Hello there! I'm MacDown, the open source Markdown editor for OS X. Let me introduce myself. ...

  4. LinkedList 浅析示例

    package com.smbea.demo; import java.util.Iterator; import java.util.LinkedList; import java.util.Lis ...

  5. 八爪鱼招标网的百度权重升为2了,独立IP也从0快速发展为1000

      自八爪鱼招标网上线以来,本着以客户一切利益为出发点,坚持提供国内首个免费招标信息平台为目标,经过各位同事不断地努力,不断收集客户各种各样的招标.采购实际需求,与政府.事业单位及中小型企业一对一的沟 ...

  6. DBCC SHRINKDATABASE xxxx was skipped because the file does not have enough free

    假设你创建一个数据库时,指定其初始化大小(SIZE )非常大.例如,如下测试案例所示 USE [master] GO   CREATE DATABASE [TEST] ON  PRIMARY  ( N ...

  7. List tuple 类型转成数组

    SKlearning大部分的输入数据都是M * N数组. 然而我们从数据库或文件读取得来的通常是Python内定的类型tuple或list 它们的优势就不说了,但是直接把list或tuple构成的二维 ...

  8. KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是 ...

  9. 关于linux中的时间 时区问题

    本文部分来源于:  http://hi.baidu.com/peruke/blog/item/b8de06ec6a04583b27979132.html 系统是fedora: glibc实现了从RTC ...

  10. C# XML技术总结之XDocument 和XmlDocument

    引言 虽然现在Json在我们的数据交换中越来越成熟,但XML格式的数据还有很重要的地位. C#中对XML的处理也不断优化,那么我们如何选择XML的这几款处理类 XmlReader,XDocument ...