
高级技巧-自定义View
Chin_style
试着把内容大声念出来,说话与倾听都会用到大脑的不同位置,与人交谈效果最好
展开
-
TabLayout的用法:常规用法 + 自定义用法 + 多项用法 + 联动 CoordinatorLayout
先上最终效果:效果主要包括以下几方面的内容:1)两项Tab的常规切换;2)自定义两项Tab,仔细看下方的指示器里面的图片是可以动;3)多项Tab,上方的共10个Tab项,涉及到基类的创建和继承;4)最上面将Tab项放入CoordinatorLayout中,完成上下拉动时的联动;一,前期基础知识储备TabLayout 是 Design Support 库中的一个全新控件。...原创 2019-12-06 13:56:06 · 1227 阅读 · 3 评论 -
有趣的自定义View —— SVG区域点击交互
一,前期基础知识储备实现效果如下:两张SVG图片,实现点击交互,被点击的区域显示特征色。SVG图片点击交互1)SVG是什么?SVG 文件是纯粹的 XML文件。SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损...原创 2019-10-24 11:31:56 · 5654 阅读 · 0 评论 -
GestureDetector手势检测精炼详解
一、前期基础知识储备当用户触摸屏幕的时候,会产生许多手势,如down、up、scroll、fling等。我们知道,View类有一个View.OnTouchListenter内部接口,通过重写它的onTouch(View v, MotionEvent event)类函数,可以处理一些touch事件。但是这个函数太过简单,如果需要处理一些复杂的手势,使用这个接口就会很麻烦。Android ...原创 2019-02-24 11:54:26 · 1493 阅读 · 0 评论 -
有趣的自定义View — 玫瑰·三阶贝塞尔曲线
“玫瑰贝塞尔曲线”效果如下:一、效果要求1)在布局中某个位置处玫瑰开始由小而大,淡入出现;2)出现的玫瑰,颜色随机而定,玫瑰可在布局内做动画亦可在整个界面中做动画,如上图;3)玫瑰自下而上做曲线变化,水平方向位移亦随机而定;4)每个玫瑰上浮曲线不同之外,上浮速度也不尽相同;二、实现难点及实现方法1)展示玫瑰可采用直接画(drawBitmap())的方式实现,也可以选...原创 2019-01-12 15:55:10 · 876 阅读 · 0 评论 -
有趣的自定义View — 输入·弹跳字符
弹跳字符效果如下:一、效果要求1)实时监听键盘字符输入,进而输入对应的字母;2)为字符加入全局弹跳效果,字符分为上下进入两种情况;3)定制弹跳字符的颜色、大小、进入时间、消失时间、不同的方向,不同的动效;4)输入文字时,字符有跳跃效果;删除字符时,字符也要添加类似的动效;二、实现难点及实现方法1)监听键盘输入很容易想到TextWatcher()接口,自定义View-...原创 2019-01-06 11:14:20 · 798 阅读 · 0 评论 -
有趣的自定义View — 小米MIUI10相机·滑动功能指示器
小米MIUI10相机功能滑动指示器效果如下: 可以看到2018年新出来的旗舰机,包括OPPO ViVo等,相机的交互都改为了左右滑动调整相机功能。(其实都是仿iOS相机)如下图所示:一、效果要求1)短视频、视频、拍照、人像、正方形、全景、手动一个七个滑动指示器摆放到一起;2)手指在屏幕上左右滑动时,滑动指示器也跟随手指左右滑动;3)手指抬起时,滑动指示器停止滑动,...原创 2018-12-22 12:10:50 · 1922 阅读 · 3 评论 -
有趣的自定义view —《聆雨》· 上下滑动面板
自定义可滑动面板效果如下:“且听细雨,勿湿衣襟” — 聆雨 一、效果要求1)面板随手指上下滑动,要求流畅性;2)面板下滑时,手指松开,回到原位;3)面板上滑,距离不足时,回到原位;上滑之一定距离时,停在一个固定的地方,以便显示面板下面的内容;4)上下滑动时的过渡回弹效果和面板透明度变化;5)面板上的要求控制音频播放、展示天气等控制二、实现难点及实现方法...原创 2018-12-15 21:21:02 · 537 阅读 · 0 评论 -
Android图像处理之Paint特效处理(Paint重点API方法精炼详解)
一、前期基础知识储备(1)Canvas常用绘制方法录 绘制颜色 drawColor, drawRGB, drawARGB 使用单一颜色填充整个画布 绘制图片 drawBitmap(有6种,各有各的适用场景), drawPicture 绘制位图和图片 绘制基本形状 drawPoint, drawPoints, drawLine, drawLines...原创 2018-08-18 13:17:09 · 3784 阅读 · 0 评论 -
事件处理之onTouchEvent()和onTouch()方法精炼详解
一、前期基础知识储备1.onTouchEvent()和onTouch()处理的对象是谁?点击事件(Touch事件)。当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)。常见的点击事件包括:单击、双击、触摸、滑动。Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象。所以传入参数之后完整的方法展示:on...原创 2018-05-26 12:05:21 · 50273 阅读 · 1 评论 -
自定义View实战第(一)课:仿QQ空间顶部条背景变化效果
一、前期基础知识储备《Android开发艺术探索》中对自定义View的讲解非常精彩,而笔者之前自定义View精炼详解的四节系列课程的讲解,意外的和书中的知识点对应上了,个人感到非常高兴。我们来回顾一下:《自定义View精炼详解第(一)课:基础理论部分和简单小实现》里面自定义View的示例是一个“背景可变化的按钮”,自定义View的方式是继承自现有控件。不需要自己支持wrap_content和pad...原创 2018-04-04 13:26:41 · 370 阅读 · 0 评论 -
自定义View精炼详解第(四)课:onMeasure()解析和简单示例
“measurespec封装了父类传递给子类的测量要求,每个measurespec代表宽度或者高度的要求以及大小,也就是说一个measurespec包含size和mode。”一、前期基础知识储备在系列之前《自定义View精炼详解第(一)课:基础理论部分和简单小实现》的这篇文章中,笔者给出了开发中最实用和最常见的自定义View方式——①继承现有控件和②继承现有布局实现,然后在笔者的《View...原创 2018-04-03 18:22:09 · 296 阅读 · 0 评论 -
自定义View精炼详解第(三)课:onDraw()方法解析和小白级案例实现
一、前期基础知识储备:在笔者的《 View绘制流程—自定义View相关》的文章中,讲解到,Android中最常见的自定义步骤:①自定义View属性;②在View的构造方法中获得自定义的属性;③重写onMeasure(); --> 并不是必须的,大部分的时候还需要覆写④重写onDraw();以上四步刚好对应了笔者的《自定义View精炼详解第(一)课:基础理论部分和简单小实现》中的描述:最常见也...原创 2018-03-31 23:40:18 · 742 阅读 · 0 评论 -
自定义View精炼详解第(二)课:自定义属性部分和入门级实现
一、自定义View第一课:简单实现自定义按钮回顾(1)在第一节《自定义View精炼详解第(一)课:基础理论部分和简单小实现》的讲述中,我们掌握了自定义View的概念和三种的实现自定义View的方式:①继承现有控件实现;②继承多个现有控件实现,即继承现有布局实现;③继承根View实现。其中前面①②是开发中最为常见,也是最为有效的自定义View方式,③是完全的自定义一个不存在的控件,其排版、优化、效率...原创 2018-03-30 13:46:52 · 247 阅读 · 0 评论 -
requestLayout()与onLayout();onDraw()与drawChild()的区别和联系
一、前期知识储备这个问题实际上是来自猎豹的一道Android面试题,题中实际包含了两层含义:①requestLayout()和onLayout()的区别和联系?②onDraw()和drawChild()的区别和联系?二、四个方法两两之间的区别首先,上官方文档,掌握上述四个方法的定义:由官方文档,我们可知,调用requestLayout()方法的时机是:当前View发生了一些改变,这个改变使得现有的...原创 2018-03-28 13:37:59 · 4303 阅读 · 0 评论 -
View绘制流程—自定义View相关
一、前期基础知识储备了解View的绘制流程很大程度上可以帮助我们自定义View的实现,那么本篇文章就将从实现自定义View开始,了解自定义View的常见步骤,然后抓取自定义View的关键步骤,然后在View的绘制流程中重点关注其实现方式。与常规的View绘制方式的分析有所不同(笔者还未达到那个水平,源码暂时扣不动,所以换了一个角度看待这个问题,有取巧嫌疑)(1)Android中自定义View的步骤...原创 2018-03-26 21:16:23 · 567 阅读 · 0 评论 -
Android事件分发机制精炼详解
一、基础知识储备在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要,这部分知识涉及的仍然以View为主,这也是初级应用层...原创 2018-03-26 14:14:55 · 683 阅读 · 0 评论