Android
文章平均质量分 83
西电吴同学
这个作者很懒,什么都没留下…
展开
-
为RecyclerView添加header和footer
目标RecyclerView渐渐的取代了ListView,但是有一点它没有ListView方便,那就是不能添加header,所以我们只能自己实现,功能如下:手动添加删除Header和Footer提供加载更多接口思路实现该功能的核心在Adapter类,我们声明三种类型来区分header、footer、normal。 private static final int TYPE_NORMAL原创 2016-10-08 18:53:43 · 286 阅读 · 0 评论 -
使用ItemDecoration打造列表顶部悬浮效果
ItemDecoration基本用法ItemDecoration是用来给RecyclerView添加分隔线的,我们可以通过自定义ItemDecoration来实现各种效果,我们先来看一下基本用法。 首先我们继承ItemDecoration,要实现三个方法 @Override public void onDraw(Canvas c, RecyclerView paren原创 2017-01-13 19:55:33 · 3444 阅读 · 2 评论 -
android自定义SearchView
编写布局文件本质就是LinearLayout包含着一个EditTextView和ImageView,ImageView显示的是一个清楚按钮,用来清除文本,然后把EditTextView的背景设置为null,再设置左边的搜索图片,给LinearLayout设置圆角背景,看起来就像EditTextView和ImageView是一个整体search_layout.xml<?xml version="1.0原创 2017-02-19 22:38:45 · 894 阅读 · 0 评论 -
Service简析
简介Service作为Android的四大组件之一,它的重要性不言而喻,之前虽说看过一些介绍但是一直没有用过,最近需要用到的时候发现无从下手,便阅读了官方的有关Service的Guide,这里总结一下。Service作用官方介绍如下 A Service is an application component representing either an application’s desire原创 2016-07-11 19:47:06 · 560 阅读 · 0 评论 -
使用Loader加载本地图片
概述如果我们需要得到本机的所有图片,该怎么做?第一反应就是ContentProvider,android提供了本地资源的URI,其中图片的URI是 MediaStore.Images.Media.EXTERNAL_CONTENT_URI。 但是直接使用ContentProvider有两点不方便,第一是我们需要开一个线程执行,因为如果本地图片很多就会很耗时,容易发生ANR,第二就是每次需要图片都要原创 2016-10-23 20:37:50 · 956 阅读 · 0 评论 -
自定义动画实现splash页面3d旋转切换主页面
自定义动画在Animation类中重写方法applyTransformation方法,该方法有两个参数float interpolatedTime:取值范围为0-1,具体我也不清楚,和时间有关的参数,应该是表示时间过去了多久。Transformation t:从该参数中可以的到Matrix,通过修改这个Matrix配合interpolatedTime实现动画接下来实现一个以自身中心缩小到0的d原创 2016-07-11 22:55:48 · 884 阅读 · 0 评论 -
Android Matrix的使用与自定义动画
变形矩阵的原理Android对图形的处理通过矩阵,每个像素点都有其X,Y坐标信息,图形变换矩阵是一个3X3的矩阵,通过变换矩阵与位置矩阵相乘得到新的位置矩阵,从而可以通过不同的变换矩阵实现不同的变换效果。 图形变换主要有以下四个基本的变换:Translate,平移Rotate,旋转Scale,缩放Skew,错切可以知道基本的变换矩阵是对角a e i为1,其余为0,这样变换后不会改变坐原创 2016-04-28 23:17:58 · 3971 阅读 · 0 评论 -
NestedScrolling详解
简介假设我们需要一个这样的效果,拖动子View的时候需要parent先滑动,等parent滑倒顶端的时候再让子View滑动。Android事件分发机制在parent处理事件的时候,没法再次把事件传递给子View(除非再来一个Down,开启一个新的事件序列),所以就需要用到NestedScrolling,也就是嵌套滑动机制。今天我们来实现如下效果 蓝色部分是子View,粉色是Parent,在向上原创 2017-06-18 00:45:45 · 1789 阅读 · 0 评论 -
自己动手写一个简单的Android下拉刷新
概述一开始的时候尝试通过Android的事件分发机制来实现,但是child一旦消耗事件,那么后续事件是不会传给Parent的,只能重写dispatchTouchEvent来拦截,这样做相当于重写了Android的事件分发机制,我自认水平是不够的。随后阅读了Android官方刷新空间SwipeRefreshLayout,发现是使用的NestedScrolling机制,具体使用可以看鸿洋大神的这篇...原创 2018-04-12 17:36:04 · 730 阅读 · 0 评论 -
Android保存图片到本地
保存图片到本地分三步:保存图片到本地指定文件夹将图片加入图库通知图库扫描更新保存图片到本地指定文件夹 File bitmapCacheDir = new File(SDCardUtil.getSDCardPath() + "bitmapCache"); if (!bitmapCacheDir.exists()) { bitmapCache原创 2016-10-20 14:26:20 · 906 阅读 · 0 评论 -
使用SpannableString实现微博内容
概述一条微博中有五种类型的数据,分别是普通文本@用户#话题#链接[表情]我们首先需要使用正则表达式找出这些元素,然后使用SpannableString设置不同的样式(Span)。SpannableString的基本使用首先创建一个SpannableString,将文本内容传进去SpannableString spannableString = new SpannableString(co原创 2016-10-15 17:52:49 · 490 阅读 · 0 评论 -
使用DrawerLayout实现简单的侧滑效果
简介DrawerLayout是官方的一个实现侧滑菜单的控件,可以使用它实现大部分的侧滑效果。基本步骤首先在布局中使用DrawerLayout,它继承自VIewGroup,第一个childView就是我们的内容布局,第二个就是我们的菜单,当然也可以有第三个作为第二个菜单 <android.support.v4.widget.DrawerLayout android:id="@+i原创 2016-07-06 19:02:30 · 6074 阅读 · 0 评论 -
打开EventBus3.0的正确姿势
什么是EventBus先来一段官方介绍和配图 EventBus is a publish/subscribe event bus optimized for Android.就是说EventBus是一个针对Android优化的发布/订阅事件总线。它可以做到:简化组件之间的通信简化代码结构……试想这样一个场景,一个Activity有两个fragment分别是f1, f2。有一个需求就是f原创 2016-09-16 15:12:24 · 419 阅读 · 0 评论 -
使用layer-list实现阴影效果
在drawable下新建background.xml,内容如下<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectan原创 2016-05-27 22:31:30 · 4410 阅读 · 0 评论 -
仿头条实现EditText的hint上下滚动轮播效果
简介最近看到头条的首页顶部搜索框有一个切换hint文字的动画效果,比较好奇它是怎么实现的,经过一番探索发现这个顶部的搜索框并不是真正的搜索框,点击之后是直接跳转到搜索界面,本身并不是一个EditText。这样的实现方式让我顿时感觉索然无味,同时不禁思考,难道不能在一个EditText控件上实现这样的效果吗?百度、google了一番发现并没有找到相关的效果实现,于是决定自己撸一个。起初并没有头绪...原创 2018-10-21 22:30:53 · 2099 阅读 · 1 评论