自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Android 自定义流式布局FlowLayout 自己造的轮子真香!

流式布局FlowLayout、自定义流式布局、FlowLayout,实现方式:自定义ViewGroup,炒鸡简单的实现原理分析功能:1.支持设置行间距、列间距;2.支持适配器模式动态添加实现分析:测量onMeasure;布局onLayout;间距实现分析;代码实现

2020-04-27 12:05:58 2859

原创 Android AsyncTask 完美解析 看不懂源码你就输了

android.os.AsyncTask,一个执行异步操作的类,我们可以使用它来处理后台任务,并且在UI线程中处理结果,而无需关心线程的问题。AsyncTask 内部是使用 {@link Thread}和{@link Handler}来实现的。第一部分做简单介绍,第二部分介绍基本使用,第三部分做源码分析,一步步的深入代码,明白其背后的实现

2020-04-18 20:00:59 3622 7

原创 RecyclerView GridLayoutManager 等分间距

RecyclerView 表格实现RecyclerView 配合GridLayoutManager 可以实现类似表格的样式,为了实现均分,adapter 的布局宽度改为匹配父元素,即 android:layout_width=“match_parent” 。RecyclerView rvPhotoAlbums = findViewById(R.id.rv_photoAlbums_conten...

2020-04-07 14:37:26 10891 13

原创 Handler 消息机制二:Message 源码分析,带你从源码层面去理解复用机制

该篇主要介绍的是Handler 消息机制中的Message 类。Message 源码分析,带你从源码层面去解读Handler 机制中的Message 类,了解Message 类是如何实现消息复用的?这里面涉及到的是什么设计模式?了解 Message 类的正确使用姿势 。

2020-05-20 16:16:39 2463

原创 Handler消息机制介绍,流程梳理

文章目录前言基本使用发送和处理Runnable发送和处理Message流程梳理获取消息发送消息消息入队消息出队理解源码分析前言Handler 是Android 的消息处理机制,其主要有两个作用:1.发送消息,延迟处理。你可以通过Handler 来发送一个Message 或者Runnable 对象,并在收到消息时处理他们,另外可以指定延迟时间,以便在将来执行。2.线程间通讯。简单来说就是在不同于Handler 所属的线程发送消息,在Handler 的依附线程中接受并处理消息。这也就要求Handler

2020-05-19 09:27:36 1869

原创 android EditText 实现小写转大写源码分析

EditText输入小写字母自动转为大写字母代码实现,源码分析TextView 文本转换,小写字母自动转为大写字母代码实现,源码分析实现1.获取 android.text.method.ReplacementTransformationMethod 类的实例2.添加 TransformationMethod 监听

2020-05-12 15:50:31 649 1

原创 Android Studio 无线调试

第一次使用的时候首先要用usb数据线链接的。电脑和手机必须处于同一个wifi中,在手机上拿到已连接wifi的ip地址。(在手机设置 > WLAN > 高级)。步骤如下:1.安装插件ADB wifi2. 在Terminal 中输入命令:adb tcpip 55553. 链接设备的ip地址,可通过手机wifi设置里查看到,如:adb connect 192.168.124.94....

2020-04-26 22:55:35 419

原创 LayoutInflater#inflate 源码解析

LayoutInflater.inflate 内部调用流程,源码解析

2020-04-07 15:07:41 320

原创 ViewPager wrap_content 无效原理分析,解决方案

ViewPager 高度设置 wrap_content 无效原理分析及完美解决方案

2020-04-07 14:43:39 1242

原创 android AOP实现之AspectJ

AOP1.1 背景OOP(面向对象编程)的精髓是把功能或问题模块化,每个模块都有自己的职责,理想状态是只处理自己职责之内的事务。但在实际中,理想的职责单一往往携带了一些其他的、“脏”的逻辑处理。举个最简单而又常见的例子:现在想为模块A加上日志功能,要求模块运行时候能输出日志。在不知道AOP的情况下,一般的处理都是:先设计一个日志输出模块,这个模块提供日志输出API,比如Android中...

2018-04-16 00:21:47 949

原创 Android 动态设置Shape

引言:之前涉及到设置view背景的地方几乎都是通过写<shape>标签的方式实现的。慢慢的,项目里的xml越来越多,命名都成问题了!于是就想用动态设置shape的方式来替换静态配置shape标签。静态配置shape这个不多说了,梯子备好了,自行前往! https://developer.android.google.cn/guide/topics/resources/drawable-resour

2017-08-24 18:38:19 3731

原创 Android Drawable工具类

Drawable工具类,包含: 1.Drawable 着色(setTint) ;2.Drawable 圆角矩形(GradientDrawable);3.Drawable 选择器(StateListDrawable)

2017-08-20 20:34:40 1425 1

转载 Android 插值器 Interpolator 介绍

插值器Interpolator 简介interpolator可以翻译成插值器。 AccelerateDecelerateInterpolator, AccelerateInterpolator, AnticipateInterpolator, AnticipateOvershootInterpolator, BaseInterpolator, BounceInterpolator, CycleInterpolat

2017-04-09 17:20:43 1368

原创 Android 图片着色 Tint 详解2—xml设置、selector

上篇文章介绍了给drawable设置tint 以达到颜色变化效果,这篇介绍下通过xml设置tint、代码设置tint以及如何设置tint selector。在xml中设置tint可以利用 android:tint 以及 android:tintMode 属性设置布局中的着色颜色和模式。而对背景进行着色可以通过设置 android:backgroundTint 属性,但是需要注意几点:在布局中设置a

2017-02-09 22:25:27 9260 3

原创 Android 图片着色 Tint 详解

问题描述在app中可能存在一张图片只是因为颜色的不同而引入了多张图片资源的情况。比如一张右箭头的图片,有白色、灰色和黑色三种图片资源存在。所以我们可不可以只保留一张基础图片,在此图片基础上只是颜色改变的情况是否可以通过代码设置来动态修改呢?知识点概览:1. setTint、setTintList :对drawable 进行着色。2. DrawableCompat.wrap: 对drawable 进行包装,使其可

2017-02-07 21:47:57 13679 2

原创 Android 爬坑路

慢慢的记录下自己在项目中遇到的一些坑。1.setTextIsSelectable的坑setTextIsSelectable 在三星note3手机上引发的 java.lang.StackOverflowError 错误!功能描述:textView.setTextIsSelectable(boolean selectable)实现可选复制的功能。 问题描述:也是无意发现的这个问题。在A页面点击按钮跳转

2016-12-12 23:00:24 562

原创 Android EditText与软键盘的一些效果

主要记录几个常见功能的实现:1、进入页面EditText不自动获取焦点;2、进入页面自动弹出键盘;3、点击其他区域关闭键盘;4、软键盘打开与关闭的工具类EditText不自动获取焦点在外层的父容器上做下简单的配置就可以了,通过代码设置或者xml布局文件设置都可以。 代码设置: parentView.setFocusable(true); parentView.setFocusableInTouc

2016-11-20 19:29:57 1673

原创 Android TabLayout+ScrollView 实现仿html锚点

Android 实现仿html 锚点点击效果。在浏览网页的时候,如果网页内容过长,添加网页内部导航会增加用户体验,也就是添加锚点。 这里是用 TabLayout+ScrollView 为页面添加锚点,实现仿html页面导航功能。点击TabLayout条目的时候,对应区域滑动到当前展示位置滑动ScrollView,对应的标签变为选中状态,并且移动到中间位置

2016-10-23 00:19:11 6948 20

原创 Android 滑动改变标题/栏导航栏颜色、透明度

Android 滑动改变标题/栏导航栏颜色、透明度。初始状态下,标题栏是透明的,随着滑动屏幕,标题颜色发生改变,而且icon和文字的颜色也发生了相应的变化,有个渐变的转化过程思路梳理 1. 监听ScrollView 的滑动 2. Toolbar等标题栏(导航栏)背景颜色/透明度的变化 3. 文字及icon图片的颜色变化

2016-10-15 23:23:49 7292 1

原创 android 6.0 权限简述、思路分析和代码实践

android 6.0权限基本介绍在6.0以前的版本,权限真的是一个巨恶心的东西,app 在使用过程中没有对权限正确的检查授权与否的方法和灵活的控制,这就非常不好了。让我想起之前做ocr的惨痛经历,因为ocr 需要调用摄像头对身份证进行扫描,而我却苦于无法知晓是否app对摄像头有使用权限,最终也是通过抓取异常啊之类的处理的。盼星星盼月亮google 终于舍得对android的权限做修改了。

2016-08-20 23:56:00 2119 4

原创 Android BigDecimal工具类

BigDecimal工具类,目前的功能有:String字符串转double 类型,double四舍五入, BigDecimal四舍五入,double保留两位小数,BigDecimal保留两位小数,double的加、减、乘、除运算,BigDecimal 的加、减、乘、除运算。

2016-06-28 14:38:05 2832

原创 android 判断摄像头是否可用(6.0以下 )

android 6.0以下系统判断当前摄像头是否可用问题概述android 应用程序无法判定当前是否有摄像头的使用权限,是否可用。附一篇6.0权限的文章,有概论、有图还有代码。轻松解决应用程序判断是否有权限的问题。android 6.0 权限简述、思路分析和代码实践问题描述在做ocr 的时候遇到个问题,点击拍照/扫描页面的入口Button,弹出一个对话框 “申请拍照和录像权限” “禁止”/“允

2016-06-21 16:45:36 15384 6

原创 ViewPager系列之ViewPager一屏显示多个子页面,这里才是原创

ViewPager一屏显示多个子页面,常见的有两种形式:1、当前展示的页面右侧显示一部分下个页面的内容2、当前页面居中,左右两边分别显示上一个页面、下一个页面第。ViewPager 一页显示多个实现代码ViewPager 显示多个子页面

2016-05-02 18:43:14 30170 34

原创 ViewPager系列之ViewPager无限循环滑动原理、代码、2种实现方法比较

ViewPager无限循环2种方法。方法1:重写 PagerAdapter 中的 getCount() 方法。方法2:重写了 OnPageChangeListener 接口中的onPageSelected 方法。ViewPager无限循环原理。ViewPager无限循环2种实现方法比较。

2016-05-02 17:17:59 15663 4

原创 SparseArray详解,我说SparseArray,你说要!

SparseArray文档介绍SparseArray和HashMap区别SparseArray用法

2016-04-14 01:25:17 7565 3

原创 Parcelable 序列化集合List,数组 Array,布尔值 boolean

Parcel 序列化集合 List。Parcel 序列化数据 array。Parcel 序列化布尔 boolean。

2016-03-04 16:55:39 7291

原创 Android事件分发原理和实例

介绍下android 的事件分发机制,涉及到的三个方法 dispatchTouchEvent(MotionEvent ev),onInterceptTouchEvent(MotionEvent ev) , onTouchEvent(MotionEvent ev)。通过分析源码和结合实例来加深认识,走起!

2015-05-08 16:12:29 927

原创 WebView的使用(基本篇)

WebView 的基本使用 1.加载方式 2.属性设置 3.WebSettings 属性

2015-03-18 15:00:14 1139

原创 android 调用系统照相机拍照后保存到系统相册,在系统图库中能看到

android 调用系统照相机进行拍照,并且保存到系统相册,调用系统相册的时候能看到。

2015-03-18 14:39:49 12259 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除