自定义View
HongChengDarren
忘记不了铭记,坚持不了放弃,但只要活着...
展开
-
流式布局TAG标签
侃大山最近项目比较赶,但是一直在等后台接口实在比较闲。今天就写写最近自己一直关注的流式布局flowlayout,主要用于TAG标签。写这个布局的其实还是挺多的,大家可以看看如:https://github.com/kingideayou/TagCloudView写得挺好的,但是个人认为耦合度太高了,用户想要自定义各式各样的效果实属困难。所以小的就决定阅读android中ListView源代码采用li原创 2015-10-19 15:00:20 · 3881 阅读 · 0 评论 -
Android字母索引列表
1. 概述 画笔Paint基本熟悉了之后,我们循序渐进介绍一个的方面onTouch(),用于处理手指触摸交互的,这是很早期的一个效果,但是用来学习真的很不错: 我们的重点是实现右边的字母索引效果,至于读取本地数据库的城市数据,做一些拼音排序什么的,这个就不写了当然源码我已经写好了。2. 效果实现分析 右边的 [ A - Z ] 用 ListView 去实现可以吗?应该是可以的,我好像在网上有看原创 2017-05-12 10:48:32 · 1224 阅读 · 0 评论 -
自定义View简介 - onMeasure,onDraw,自定义属性
1. 概述 自定义View这东西很多哥们比较畏惧,如果你认为他比较难关键还是缺少实践写得少;如果你认为很简单,那可能是你没有遇到过那些奇葩的效果,需要高等数学和各种算法。当然我想要做的就是让大家觉得很简单,如果你做了一两年Android开发,给你一个效果你根本没法下手,会比较尴尬。自定义View是第一个坎,系统架构,内存优化,NDK后面还会有很多坎,每一个坎都需要花一定的时间,我们可以算一算,按照原创 2017-04-26 14:44:45 · 809 阅读 · 5 评论 -
自定义View - 九宫格解锁
1.概述 自定义View效果越写越难,但是将这些效果一步一步分解后,其实挺简单的,早期自己项目中用到九宫格解锁,我都是从网上下的,因为心里一开始觉得自己写应该会很困难,后来发现自己闲下来写写原来这么简单。这期的自定义View效果我们用Kotlin来写2.实现 2.1. 绘制出相对于这个View的居中的九个圆,刚开始当然是默认的 2.2. 当触摸屏幕的时候判断是否点击在这九个圆上 2.3.原创 2017-05-25 11:36:53 · 766 阅读 · 0 评论 -
Material Design - 自定义Behavior
1.概述 自己做的项目似乎很少用到了 Material Design 的自定义 Behavior,至多就是用了一些 Material Design 的常用控件,关于 Behavior 其实都快忘记得差不多了。这几天在网上找了很多 app 发现知乎很多地方用到了这方面的知识,我们就以知乎的效果为例,效果非常简单,先上张图。2.效果实现 * 2.1 CoordinatorLayout 和原创 2017-07-12 09:07:23 · 661 阅读 · 0 评论 -
View绘制流程源码解析
1.写在前面 很多人在获取控件宽高的时候,遇到了一些问题,因为涉及到的知识点比较广,所以有时我只能说个大概,这一次我希望大家可以做一个彻底的了解,请思考一下,下面三段代码分别打印什么? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS原创 2017-05-23 17:37:01 · 780 阅读 · 0 评论 -
Android进阶之旅 - 自定义View篇
1.分享的简介 内涵段子项目分享将于5月中旬结束,了解具体详情请移步2017Android进阶之旅与你同行。经过反复的思考,首先分享Android进阶之旅 - 自定义View篇。 跟内涵段子项目分享不一样的是,我会先从自定义View的最基础开始,一直讲到各种高级效果。当然也需要看源码,比如对于onMeasure()方法,以后就不会人云亦云的出现各种解释,事件分发再也不仅仅是打印出来看看了。原创 2017-04-22 13:54:56 · 2817 阅读 · 1 评论 -
源码阅读分析 - View的Touch事件分发
其实 Android 事件分发机制在早几年一直都困扰着我,那时候处理事件分发的自定义 View 脑子都是一片白,老感觉处理不好。后来自己看了 android 源码,也阅读了很多大牛的文章才算彻底明白,总之掌握 Android 事件分发机制是必不可少的,而 Android 事件分发机制绝对不是三言两语就能说得清的。 而今天由于我们自定义 View 进阶的需要,自己也是筹备了很久。目前虽然网上相关的文原创 2017-06-13 22:43:20 · 631 阅读 · 0 评论 -
属性动画 - 58同城数据加载动画
1.概述 今早 5:30 起来给人回答问题,问题是 5:12 提的我吓一跳,心里在想这世界很努力的人太多了。周三下班有一个哥们一口气问了我 3 个,他说他搞了一下午实在搞不定,我很耐心的回答了,但是三分钟能解决的问题你要搞一下午,怪不得你说你天天加班到深夜。其实越是形势不好的时候越是要练习内功,我们学会思考很重要,技术也只是技术而已。话不多说看看今天的效果:2.效果实现 * 2.1 布局分析原创 2017-07-05 16:17:40 · 574 阅读 · 0 评论 -
贝塞尔曲线 - QQ消息汽包拖拽
1.概述 消息气泡拖拽资料有很多,网上也有开源代码,下载下来就可以用。为什么还要折腾呢?我想证明一下数学已经初中毕业,其次像贝塞尔这种效果还是很常见的,虽然目前我只有一个 APP 用了这个效果。我想一行代码让所有的控件都可以拖动爆炸,不是为了重复造轮子而是为了装B。 2.效果实现 * 2.1 效果分析 * 看上面的效果感觉有点麻烦,怎么做到任何控件都可以拖动爆炸,我想说网上应该仅此一家。原创 2017-07-31 08:58:13 · 867 阅读 · 0 评论 -
RecyclerView更全解析之 - 打造通用的下拉刷新上拉加载
1.概述 2017第一天上班,昨天在学习的时候发现变化蛮大的很多人都做了年终总结激情澎湃得很。同事还剪了一个新的头型一切从头开始,但是其实今年的事情还没完我是过春节的那种,后面还有三期的博客。 今天我们在上一期的RecyclerView更全解析之 - 为它优雅的添加头部和底部的基础上再去增加功能,我相信我们在真正的实践开发过程中肯定少不了下拉刷新和上拉加载。原创 2017-01-03 20:50:37 · 1806 阅读 · 0 评论 -
源码阅读分析 - Window底层原理与系统架构
做了一段的时间的 android 我们就开始听到有人说 AMS、WMS、Window、WindowManager、WindowManagerService等等这些词汇,可能了解但是脑海里未必有架构图, 这次我们就从源码的角度来了解一下。在阅读本文之前希望你可以花点时间了解下面几篇文章:1. 插件式换肤框架搭建 - setContentView源码阅读 2. Android进程间的通信 - IPC(原创 2017-08-21 09:38:10 · 1362 阅读 · 0 评论 -
视差动画 - 雅虎新闻摘要加载
1. 效果 太多太多的评论我其实是不会回的,如果要说什么只能说抱歉。我承认很多视频链接没那么好找,但是你如果留意用心了,肯定能获取到以前所有的直播视频链接。2.分析和实现2.1 效果分析: 写了那么多次效果,这个实现起来应该是个小 case ,留意观察有三部分动画 1. 旋转动画,六个小球在不断地旋转 2. 位移动画,六个小球往中心点聚合 3. 扩散动画,当小球移动的最中心就开原创 2017-08-14 16:02:59 · 641 阅读 · 0 评论 -
Android常见多条件筛选菜单(美团、58)
1. 效果介绍 2.简单实现2.1布局分析: 自定义ListPopuScreenMenuView 继承自 LinearLayout,大致分为三个部分:上面头部TabLinearLayout;中间的菜单内容menuContainerFrameLayout;下面的半透明的translucentView。但是为了配合动画效果我们要对布局稍作修改,需要把menuContainerFrameLayo原创 2016-01-13 17:10:18 · 17545 阅读 · 5 评论 -
打造炫酷通用的ViewPager指示器 - Adapter模式适配所有
1.概述 上一期我们已经写了一篇 打造炫酷通用的ViewPager指示器 - 玩转字体变色 可是这种效果虽然绚烂可以装装A和C之间,但是在实际的大多数效果中并不常见,只是在内涵段子中有这个效果而已,那么这一期我们就用Adapter适配器模式适配所有的效果,堪称终结者。附视频地址:等这个周末吧 2.效果实现 2.1 整合上一个实例: 我还是还是拿上一个实例来做一个实例吧。这里我黏原创 2016-12-13 16:39:18 · 10092 阅读 · 2 评论 -
Android仿支付宝淘宝 - 自定义密码输入框和键盘
1.概述 最近有人在问我要所有项目的代码,我在这里声明一下我不是这几个项目公司内部人员,之所以录视频和写博客也是喜欢与人分享和学习而已,我是真的希望大家可以自己去写要不然出了问题你也可能不会改,但是最终所有的代码肯定会上传的,只不过会要等全部的效果以及设计模式讲完。在这里感谢内涵段子这个项目,感谢那些提供帮助的博客牛人,希望有一天也能和你们一样。 部分人看了视频的反馈就是某些地方原创 2016-12-19 14:46:07 · 12684 阅读 · 7 评论 -
Android无限广告轮播 - 自定义BannerView
1.概述 这其实是我第一篇想写的博客,可能是因为我遇到了太多的坑,那个时候刚入行下了很多Demo发现怎么也改不动,可能是能力有限,这次就做一个具体的实现和彻底的封装。 上次讲了Android无限广告轮播-ViewPager源码分析,有了源码分析我们对ViewPager就有了一个大概的了解,那么再来封装成自定义View,就会简单许多,附视频讲解地址:http://pan.baidu.com/原创 2016-11-18 09:10:15 · 15883 阅读 · 4 评论 -
圆形图片CircleImageView(解决内存溢出)
一、前言项目已经做完了,目前测试那边还没有提交什么bug,所以目前对代码进行重构和优化。有一个很头疼的问题就是圆形图像引起GC内存溢出,logcat老打印:Grow heap (frag case) to 20.982MB for 1542416-byte allocation 和 GC_FOR_ALLOC freed 407K, 20% free 17919K/22332K, paused 16m原创 2015-10-31 16:18:10 · 5519 阅读 · 2 评论 -
Android 雪花飘落
1. 效果2.分析和实现2.1效果分析: 1. 每个雪花都是随机的一张资源图片(总共五张图片),每一张图片转为bitmap,然后在onDraw中绘制; 2. 每个雪花它的宽高是随机的范围,旋转的角度是随机的范围,加速度也是随机的; 3. 每个雪花不拥有一个单独的动画,只用一个动画来控制所有的雪花每一帧的显示; 4. 每个雪花的运动利用Matrix实现原创 2016-01-25 15:07:28 · 4786 阅读 · 0 评论 -
ScrollView头部悬停
1. 效果2.分析和实现2.1效果分析: 1.RelativeLayout根布局中放置一个ScrollView,隐藏一个需要悬浮的一模一样的View,对ScrollView进行监听滚动到头部的时候将其显示,其余时候将其隐藏; 2.布局中放置一个固定在头部的容器,当ScrollView滚动到悬浮的View时,将悬浮的View从原来的布局中移除添加到头部容器中,向下滚动的时候将其移回到原来的布局原创 2016-02-23 16:35:58 · 7776 阅读 · 1 评论 -
Android 自定义 HorizontalScrollView 实现ViewPager效果,打造再多图片(控件)也不怕 OOM
1. 效果上次实现了这个IOS Reveal效果,能够确保中间部分是彩色其余部分是灰色,但是也遗留了两个问题: (1)如果把它做成ViewPager效果的方式可能会更好; (2)HorizontalScrollView没有重用机制,虽然可能我们并不会加载很多的图片,但是一旦过多肯定会出现OOM问题;原创 2016-03-13 16:48:21 · 14265 阅读 · 0 评论 -
下拉刷新ScrollView
需求 昨天在网上找了好久都没有找到一个合适的可以下拉刷新的scrollView代码,不过github上有一个开源项目(Android-PullToRefresh)写得很不错,但好像必须是AbsListView的子类才能使用,当然自己写得这个和该项目的实现原理是一样的。想想自己学Android已经快一年了,总得努力努力自己搞搞,所以今天上午就查阅资料看博客开始写,下面就贴贴自己的思路和代码,和下原创 2015-10-07 14:42:12 · 4966 阅读 · 0 评论 -
微信QQ附近好友雷达扫描
1.概述 最近一直到在带实习生,因为人比较多,所以很长一段时间没有更新博客了,今天更新一篇雷达扫描附近好友效果,以后尽量每周更新一篇,先看一下效果: 2.实现 1. 效果分析 效果分为两个部分,一个是上半部分的自定义RadarView,还有就是下半部分的ViewPager,至于怎么做到缩放和背景虚化的效果大家可以去看看LazyViewPager这里不详细介绍,也可以去这原创 2016-07-30 22:39:14 · 23984 阅读 · 0 评论 -
仿QQ空间,百思不得姐下拉刷新图片放大
1.概述 实习生进阶到项目部分会带他们做一个百思不得姐项目,那么个人主页就有类似于QQ空间下拉图片放大的效果,趁着现在还闲就实现一下效果: 2.实现 1. 效果分析 ScrollView和ListView都可以实现,关键要知道这个方法overScrollBy()这个方法是ListView,ScrollView滑动过头的时候调用,也可以说是当我们已经滑动到最上面然后向下拉的时原创 2016-07-31 22:55:10 · 13933 阅读 · 2 评论 -
打造炫酷通用的ViewPager指示器 - 玩转字体变色
1.概述 最近一直都在仿着其他项目的效果在做,仿内涵段子,二手车之家等等。会不会有一天被抓啊还真是有点心虚,我这分明是给这些APP打广告啊。等这些效果基本讲完就开始设计模式和系统框架一整套的视频也就会出来了,等总的访问量达到100万之后就会利用空余的时间去录制Java基础和Android基础,请各位多多start和suggest。我们来看一下效果吧: 2.效果实现 2.1 整合上原创 2016-12-06 20:17:28 · 9987 阅读 · 0 评论 -
仿QQ6.0主页面侧滑效果
1.概述 最近一直都在带实习生做项目,发现自己好久没有写博客了,这几天更新会比较频繁,今天玩QQ的时候发现QQ主页菜单滑动效果早就变了,实在忍不住晚上就来实现一下了! 2.实现 2.1. 实现的方式多种多样 2.1.1 自定义ViewGroup ,处理其onTouch事件 2.1.2 FrameLayout + 手势处理类GestureDetector原创 2016-11-02 01:31:52 · 24178 阅读 · 13 评论 -
自定义炫酷动画 - 抢红包动效
一.效果演示好久都没有更新文章了,决定加班更新一篇文章。刚进入一个新的环境正在慢慢适应,加上深圳这边节奏又比较快,闲暇的时间是越来越少了,所以这次就分享工作中遇到的一个简单小效果。这效果花了我接近半天的时间,先来看下: 接到一个新的任务,设计师效果出来后感觉还是蛮酷的。首先想到的不是去网上找,找应该也是白找,静下心来分析分析。二.效果分析实现首先我们肯定会想能不能叫设计师给个...原创 2018-06-22 11:58:24 · 1375 阅读 · 1 评论