更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从Android 自定义属性动画&Camera动画来介绍自定义View: 1.相关知识点 对于Androi的帧动画,可以制作gif图片,有时为了能够动态的生成帧动画,就得需要使用代码构建了 AnimationDrawable类中使用 addFrame用来添加帧. AnimationDrawable类中使用 start来启动动画. AnimationDrawable类中使…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 1.前言: 本文采用自定义view的方法来实现一键清除的动画这个功能. 2.效果图:   ​   3.具体详细代码 3.1 \res\values\attrs_on_key_clear_circle_view.xml <resources> <declare-styleable name="OnKeyClearCircleView"> <…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从自定义View利器Canvas和Paint来进行详解 一.Canvas 为了后文更为方便的讲解Canvas的常用方法的使用,我们先来做一些准备工作,创建一个自定义View框架,先初始化一下Paint画笔,并设置相关方法: public class StudyView extends View { private Paint mPaint; private Contex…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章自定义ViewGroup实现瀑布流效果来进行详解dispatchTouchEvent ----- onInterceptTouchEvent----- onTouchEvent 最外层的ViewGroup首先接收到触摸事件,然后遍历他的子View或者ViewGroup,将触摸时间分发给包含触摸位置的子View,继续下去,直到该事件被消费(1.某个View的onTouchE…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章自定义流式布局来进行介绍: 一般常见的流式布局由两种,一种是横向的个数固定,列表按照竖向进行排列.另一种是横向先排,横向排满之后再竖向排列.而本框架实现是以第二种方式进行处理.   ​   那么这个框架到底该如何使用呢? 一.引入资源 这里提供两种方式,引入资源文件. 1.在build.gradle文件中添加以下代码: allprojects { repositories…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从ViewPager来介绍常用View:文章目录 一.简介 二.基本使用 xml引用 page布局 创建适配器 设置适配器 标题栏5.1. xml引用5.2. 重写PagerAdapter的getTitle()方法 翻页动画6.1. DepthPageTransformer6.2. ZoomOutPageTransformer6.3. 自定义动画6.4. 开源框架Vie…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将先从以下两个内容来介绍常用View: [RecycleView] [CardView] 一.RecycleView 1.1.RecycleView介绍 官方介绍为: A flexible view for providing a limited window into a large data set. 翻译过来就是: 为大数据集提供的有限窗口的灵活视图. 用官方的语言…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从WebView来介绍常用View: 一.WebView介绍 Android WebView在Android平台上是一个特殊的View, 基于webkit引擎.展现web页面的控件,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器.WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索.Android的…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 优化性能一般从渲染,运算与内存,电量三个方面进行,今天开始说聊一聊Android的渲染机制,我们要知道Android系统每隔16ms就重新绘制一次Activity,也就是说,我们的应用必须在16ms内完成屏幕刷新的全部逻辑操作,即每一帧只能停留16ms,渲染机制说完之后,然后在说如何去优化UI. 1.为什么是16ms 16ms意味着1000/60hz,相当于60fps.这是因为…
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52178553 本文出自:[openXu的博客] 目录: 初步分析重写onDraw绘制 重写onMeasure计算宽高 重写onTouch加入滑动效果 自定义属性 源码下载   这篇博客我们来一发自定义控件的实战,恰好前些天有一个小需求,效果图如下:        根据效果图,我们可以确定,用自定义View完全可以搞定,在自定义控件系列博客第一篇中,我们总结了自定义View的几个步骤: 继承…