Android自定义View前传-View的三大流程-Measure 参考 <Android开发艺术探索> https://developer.android.google.cn/reference/android/view/View.MeasureSpec 写在前面 View的 measure .layout draw 的三大流程的重要性不用多说,只有学习这三大流程,清楚了View的工作方式,才能够在进行 自定义View 的时候更得心应手.在学习三大流程的时候,需要看很多的相关的源码,其中有…
Android-自定义View前传-View的三大流程-Layout 参考 <Android开发艺术探索> https://github.com/hongyangAndroid/FlowLayout 写在前头 在之前的文章中 , 我们学习了Android View的 Measure的流程, 本篇文章来学习一下View的 Layout 的过程. 学完了这一篇文章后,我们可以尝试自己去自定义一个自己的Layout. Overview 我对于Layout过程的理解:Layout的过程就是给Child…
原文地址:http://blog.csdn.net/a396901990/article/details/36475213 简介: 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量——onMeasure():决定View的大小 2.布局——onLayout():决定View在ViewGroup中的位置 3.绘制——onDraw():如何绘制这个View. 而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了. 而这篇文章就来谈谈第一步…
简介: 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量--onMeasure():决定View的大小 2.布局--onLayout():决定View在ViewGroup中的位置 3.绘制--onDraw():如何绘制这个View. 而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了. 而这篇文章就来谈谈第一步,也是十分关键得一步:"测量(Measure)" Measure(): Measure的中文意思就是测量.所以它的…
示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下: package com.jj.sliding_6; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android…
http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下: package com.jj.sliding_6; import android.content.Context; import android.util…
前言:现在你已经有了一个自定义的view了,并且支持手势和过度动画等属性,现在你要确认这个view 有够快的速度,为了使其在UI上不会显得迟钝或是卡停,你要保证view动画,能每秒最好有60帧. 一:优化代码,减少请求次数 1.为了使自定义的view能更快的响应UI,要尽量减少频繁调用子程序中的代码量,不要把太多的 代码放在onDraw()方法中. 2.尽量减少调用 invalidate(),每一次调用都会调用onDraw()方法,若是要调用的话尽量调用, 带4个参数的invalidate()方…
前言:绘制出一个view只是自定义view的一个部分,还需要自定义一些view的行为,来反馈用户的使用操作,反馈的 行为要合理性,就像真是的物理世界一样,不要太玄幻哦. 可以将view的行为封装到interface中,然后去实现他. 一:处理手势操作 1.想其他UI框架一样,android也支持输入事件处理.用户的触发事件引发回调,通过实现回调方法,即可 自定义对用户触发的相应.在andriod系统触发时间被定义为touch,回调的是onTouchEvent(android.view.Motio…
以自定义ImageView为例: /** * 可拖拽ImageView * Created by admin on 2017/2/21. */ public class FloatingImageView extends ImageView{ public FloatingImageView(Context context) { super(context); } public FloatingImageView(Context context, AttributeSet attrs) { su…
在正式的撰写个人的学习笔记前,先对个人的学习经历做一个简要的介绍.座右铭:诚不欺我 1. 前言 本人非软件工程出身,属于半路出家,误打误撞进入这个行业,初心是软件开发的门槛低,自以为学习过C语言,轻度的了解一些语言的用法,看过一些面试宝典,就那么一声"进",悲催而又富有节奏的"攻城狮"的职场生涯就开始了. 2. 过往经历 毕业后,就职于合肥MTK,担任软件工程师一职.从事Linux 嵌入式应用层的开发工作,算是系统的学习了软件的开发,包括语言类的使用,从当初的志得意…