- 博客(24)
- 收藏
- 关注
原创 ListView和RecyclerView列表点击反馈
整理下Android开发中列表点击反馈的一些知识点,就是点击Item会出现背景阴影的效果。目前最常用的两个列表控件ListView和RecyclerView,可以说RecyclerView作为ListView的升级版有着更强大的功能,现在也基本都使用RecyclerView居多。当然了,RecyclerView还是有些属性设置没有但ListView有,就是下面要说的点击反馈。
2017-01-05 00:06:07
4302
原创 基于ijkplayer的视频播放器,仿Bilibili客户端,集成沉浸式全屏、弹幕、触屏控制、视频源切换等功能
该视频播放器基于Bilibili的开源项目ijkplayer做的,是在github上的demo基础上搭建了个播放界面,如果你之前有研究过这个demo代码,那你看这个库对你来说就非常简单了。至于还不知道ijkplayer这个开源库的话可以先去了解下,这应该是目前github最火的开源视频播放器了吧,网上对这个的介绍也很多这里就不讲这个了。
2016-11-29 13:48:59
30010
74
原创 浅析ButterKnife的实现 (四) —— OnClick
讲完了View注解,下面来介绍怎么给View设置点击监听。@OnClick定义个用来设置点击监听的注解:
2016-08-15 18:05:02
6587
原创 浅析ButterKnife的实现 (三) —— BindView
相关文章:如何实现ButterKnife (一) —— 搭建开发框架如何实现ButterKnife (二) —— BindResource这里开始讲解最常用的绑定View的注解了,这个会比资源绑定注解复杂一点,不过大体流程都是相似的。@Bind定义个用来注入View资源的注解:/** * View绑定 */@Retention(RetentionPolic
2016-08-15 14:16:21
10703
原创 浅析ButterKnife的实现 (二) —— BindResource
从最简单的 Resource 资源绑定来说明,大体了解整个开发基本流程。包括 @BindString 和 @BindColor 注解的开发说明。
2016-08-15 09:33:53
3644
1
原创 浅析ButterKnife的实现 (一) —— 搭建开发框架
ButterKnife的大名相信做Android开发的都应该知道,如果你还不知道那只能说明你平时都没关注过开源项目,优秀的开源项目对于开发来说帮助是巨大的,而学习优秀的开源项目对个人的提升帮助也是巨大的。ButterKnife通过注解的方式帮助我们处理诸如 findViewById() 和 setonclicktListener()等的重复性繁琐的工作,极大地减轻了程序员的工作量。Bu
2016-08-13 15:42:49
3303
原创 自定义注解之编译时注解(RetentionPolicy.CLASS)(三)—— 常用接口介绍
前面介绍了关于编译时注解的使用方式,这里再补充一个关于注解处理器开发中的一些常用类、接口的使用方式和概念。Element和TypeMirror我觉得这两个是开发注解处理器最重要的两个概念,理解这两个的概念和使用是非常重要的。这两个都是接口,先来看一下Element的定义:
2016-08-10 17:33:11
7462
1
原创 自定义注解之编译时注解(RetentionPolicy.CLASS)(二)——JavaPoet
在使用编译时注解时,需要在编译期间对注解进行处理,在这里我们没办法影响程序的运行逻辑,但我们可以进行一些需处理,比如生成一些功能性代码来辅助程序的开发,最常见的是生成.java 源文件,并在程序中可以调用到生成的文件。这样我们就可以用注解来帮助我们处理一些固定逻辑的重复性代码(如 butterknife),提高开发的效率。通过注解处理器来生成 .java 源文件基本上都会使用javapoet 这个库,JavaPoet一个是用于产生 .java 源文件的辅助库,它可以很方便地帮助我们生成需要的.java 源
2016-08-07 13:24:59
5759
原创 自定义注解之编译时注解(RetentionPolicy.CLASS)(一)
说到编译时注解(RetentionPolicy.CLASS)都要和注解处理器(Annotation Processor)扯上关系,因为这里是真正体现编译时注解价值的地方。需要注意的一点是,运行时注解(RetentionPolicy.RUNTIME)和源码注解(RetentionPolicy.SOURCE)也可以在注解处理器进行处理,不同的注解有各自的生命周期,根据你实际使用来确定。注解处理器(Annotation Processor)首先来了解下什么是注解处理器
2016-08-05 13:54:15
27044
原创 自定义注解之源码注解(RetentionPolicy.SOURCE)
源码注解(RetentionPolicy.SOURCE)的生命周期只存在Java源文件这一阶段,是3种生命周期中最短的注解。当在Java源程序上加了一个注解,这个Java源程序要由javac去编译,javac把java源文件编译成.class文件,在编译成class时会把Java源程序上的源码注解给去掉。需要注意的是,在编译器处理期间源码注解还存在,即注解处理器Processor 也能处理源码
2016-08-04 16:45:07
12652
6
原创 自定义注解之运行时注解(RetentionPolicy.RUNTIME)
对注解概念不了解的可以先看这个:Java注解基础概念总结前面有提到注解按生命周期来划分可分为3类:1、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;3、RetentionPol
2016-08-04 15:05:20
80558
3
原创 Java注解基础概念总结
注解的概念注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations。注解与类、接口、枚举在同一个层次,并可以应用于包、类 型、构造方法、方法、成员变量、参数、本地变量的声明中,用来对这些元素进行说明,注释。注解的语法与定义形式
2016-08-04 10:08:58
11298
1
转载 Java注解处理器使用详解
在这篇文章中,我将阐述怎样写一个注解处理器(Annotation Processor)。在这篇教程中,首先,我将向您解释什么是注解器,你可以利用这个强大的工具做什么以及不能做什么;然后,我将一步一步实现一个简单的注解器。一些基本概念在开始之前,我们首先申明一个非常重要的问题:
2016-07-28 15:45:50
8314
9
原创 用来设置标签的流式布局简单设计
其实现在用来设置标签的流式布局开源库和文章都挺多的,写这个是因为自己学习总结自定义View的相关知识,毕竟看的再多都不如自己实现一下来得有用。流式布局用来学习还是挺不错的,下面就一步一步来实现流式布局。
2016-07-20 17:33:40
1997
原创 CoordinatorLayout自定义Behavior的运用
之前写了关于CoordinatorLayout的使用介绍,现在补充下自定义Behavior的运用,如果对CoordinatorLayout的基本使用不了解可以先看这个:CoordinatorLayout的详细介绍。
2016-07-11 15:35:29
3846
原创 CoordinatorLayout的详细介绍
CoordinatorLayout是支持包"com.android.support:design"里很重要的一个控件,继承于FrameLayout,它提供了两个主要用途:1. 作为APP的顶层布局;2. 协调子控件的相互作用;CoordinatorLayout提供了很棒的交互体验,并且也有良好的定制性,可以制作自己想要的交互效果,这里介绍关于CoordinatorLayout基本用法。
2016-07-10 10:12:32
2914
原创 整理Android绘图时图形变换方法
Android提供了很丰富的绘图方法,包括图形变换控制,颜色变换控制,图形合成等好多内容,这里只简单整理下图形变换的控制方法。首先要知道我们在用画布Canvas进行绘图,Canvas中包含了一个图形变换矩阵Matrix,图形变换都是通过控制Matrix的变换来实现的,包括平移、旋转、缩放和错切等变换。网上关于Matrix矩阵变换的原理很多,搜一下就有了,有高数底子理解起来更容易。再进行变换前先
2016-07-05 10:08:02
1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人