关闭

从源码角度分析NestedScrolling

通过CoordinatorLayout可以实现许多炫酷的效果,大家可以参考我之前一篇博客: 一起玩转CoordinatorLayout其实CoordinatorLayout就是利用NestedScrolling(嵌套滑动机制)来完成复杂的滑动交互。NestedScrolling是Android 5.0之后为我们提供的新特性,降低了使用传统事件分发机制处理嵌套滑动的难度,用于给子view与父view滑...
阅读(2208) 评论(1)

RecyclerView学习(五)----SwipeRefreshLayout的下拉刷新与上拉加载

SwipeRefreshLayout作为官方的下拉刷新控件,简洁美观的风格使其广泛应用在项目中。美中不足的是SwipeRefreshLayout缺少上拉加载的效果,今天结合RecyclerView实现一个支持下拉刷新与上拉加载的SwipeRefreshLayout。先看一下最后实现的效果图:整体效果如上所示,一起看看怎么实现的:一.准备工作1.加载动画实现: 示例图中,上拉加载的进度动画是一个自定...
阅读(2263) 评论(0)

我的2016—勿忘初心,方得始终

写在前面 转眼之间,一年的时光已经悄然消逝。想写点什么,却发现早已习惯复制粘贴的我,在这一刻竟有点无从下手。想来想去,还是用几个关键词总结一下我的2016吧。魔都今年三月底,我辞掉人生中第一份工作,离开生活了四年半的天津,来到上海。还没来得及去欣赏魔都的风光,便四处投简历,寻找新的工作。求职过程中,让我感慨最多的是上海太大了。那时候每天至少一个面试,当时住在华师大闵行校区,交通不是很方便。10点的面...
阅读(2626) 评论(21)

RecyclerView学习(四)----ItemDecoration实现的城市导航列表(下)

之前用RecyclerView实现了写过一篇城市导航列表:动手写一个城市导航列表关于自定义的导航条,滑动监听,汉字转拼音等零碎知识,大家可以查看我之前那篇博客。今天主要说的是悬停列表的实现,之前的实现方式是每一个RecyclerView的item的布局里面都包含一个头部布局,然后判断当前item和上一个item的头部布局里的索引字母是否相同,来决定是否展示item的头部布局。这种实现方式显得布局冗余...
阅读(4553) 评论(8)

一起玩转CoordinatorLayout

作为Material Design风格的重要组件,CoordinatorLayout协调多种组件的联动,实现各种复杂的效果,在实际项目中扮演着越来越重要的角色。本篇博客将由浅到深,带你一起玩转CoordinatorLayout。官方文档对CoordinatorLayout是这样描述的:CoordinatorLayout是一个加强版的FrameLayout,本质是一个ViewGroup,主要有两个用途...
阅读(3859) 评论(1)

圆形图片的制作

近期又在啃《Android开发艺术探索》这本书,最近看到了第六章节—Android中的Drawable。我写博客的风格不喜欢一味的介绍理论知识,更喜欢从实战的角度去学习,在敲代码的过程中去补充理论知识,根据实际情况做出分析,最后实现想要的效果。本文就从制作圆形头像的角度,来学习Android中的Drawable的那些事。一.准备工作 Drawable有很多种,表示的是一种可以在Canvas上进行绘...
阅读(1086) 评论(3)

Android自定义加载动画(持续更新中...)

准备做一个Android自定义加载动画的合集,主要通过自定义View实现一些常见的加载动画,也会模仿一些主流APP好看的加载动画。项目源码同步上传到了个人github上,欢迎大家star,fork,提issues,一起交流进步。目前实现了几种效果,以后会陆续加入其他效果:通过动画可以实现一些绚丽的效果,平时我们在使用过程中,有几点需要咱注意一下:1.OOM的问题: 这个问题主要出现在帧动画上,Fr...
阅读(6376) 评论(2)

自定义View实例(四)----自定义条形柱状图

本来是想写一篇点赞效果的自定义View实例的,后来好基友因为项目紧急叫我帮他撸一个条形柱状图,大致瞄了一眼原型图以后便开撸了。最后做出来的效果与原型图八九不离十,看一下最后实现的效果图:一个普通的条形柱状图,统计的是12个月份两种状态的数值,选中的长条背景颜色会加深,并且显示当前两种状态的数值。看看怎么实现的吧:一.准备工作:1.数据准备: myChartView = (MyChartV...
阅读(981) 评论(7)

Android性能优化之Bitmap导致的内存溢出

原本计划是按照章节顺序学习《Android开发艺术探索》这本书的,Android性能优化这部分也是本书的最后一章。但是周末的时候,友盟线下反馈的公司项目的一个错误让我不得不提前学习这一块的知识。先看看线下反馈的错误吧:java.lang.OutOfMemoryError:应用程序内存溢出,俗称OOM,是指应用程序在申请内存时,没有足够的内存空间供其使用而出现的问题。Android中常见的导致内存溢出...
阅读(2798) 评论(1)

一个Demo带你彻底掌握View的滑动冲突

本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发。 最近在重新学习Android自定义View这一块的内容,遇到了平时开发中经常碰到的一个棘手问题:View的滑动冲突。相信不少小伙伴都有相同的感觉,看似简单真正做起来却又不知道从何下手。今天就从一个简单的Demo带你彻底掌握解决View滑动冲突的办法。老规矩,先上图:示例图中是一个常见的下拉回弹,手指向下滑动的时候...
阅读(5177) 评论(53)

自定义View实例(三)----滑动刻度尺与流式布局

最近在系统学习自定义View这一块的知识,前面几篇基本都是理论知识,这篇博客着重从实战来加强对自定义View的理解与运用。实现的两种效果,分别代表自定义View与自定义ViewGroup。先上效果图:上面的是一个可以滑动的刻度尺,支持快速滑动,选择的数字也会显示在下方;下面的是一个经典的流式布局,会根据文字长度自动进行布局。一起看看怎么实现的吧:一.准备工作1.布局文件<?xml version="...
阅读(1185) 评论(0)

Android自定义View探索(三)—事件分发机制与滑动冲突处理

View的事件分发机制,其实就是对MotionEvent事件的分发机制,即当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,这个传递的过程就是分发过程。一.View的事件分发机制整体流程:dispatchTouchEvent()—>onTouch()—>onTouchEvent()—>onClick() dispatchTouchEvent():View事件分发的入...
阅读(651) 评论(0)

Android自定义View探索(二)—常用工具

参考资料:自定义View系列教程01–常用工具介绍在自定义View的时候,常常会用到一些Android系统提供的工具。这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等。如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug。所以了解熟悉这些常用的工具,对我们后续的学习和工作有很大帮助。Configuration:Configuration用来描述设...
阅读(808) 评论(0)

Android自定义View探索(一)—生命周期

写在前面: 之前零零散散写过两篇自定义View的文章,当时只是为了模仿实现某个好看的效果,并没有深入学习过,许多问题还是一知半解。这一系列的博客主要记录自己学习自定义View的过程以及心得。 任何一个视图都是要经过非常科学的绘制流程后才能显示出来的,每一个视图的绘制过程其实就是一个完整的生命周期,我们从这里开始入手,一起学习自定义View。一.准备工作布局文件: <org.daliang...
阅读(3263) 评论(0)

View位置参数与滑动全解析

学习章节: 第三章 View的事件体系学习时间: 2016.9.20学习内容:View滑动全解析目前Android中实现View的滑动可以分为三种方式: 通过改变View的布局参数使得View重新布局从而实现滑动 通过scrollTo/scrollBy方法来实现View的滑动 通过动画给View施加平移效果来实现滑动 这里将一一解析这三种方式的用法与区别:首先看一下...
阅读(950) 评论(2)
42条 共3页1 2 3 下一页 尾页