
android
文章平均质量分 90
杜壁奇
这个作者很懒,什么都没留下…
展开
-
android事件分发机制源码分析
android view事件分发源码分析原创 2023-02-28 18:24:06 · 627 阅读 · 0 评论 -
实现RecyclerView二级列表
使用RecyclerView实现二级列表原创 2023-02-28 16:40:25 · 1203 阅读 · 0 评论 -
Android accessibility开发笔记
android accessibility开发原创 2023-02-27 23:25:09 · 3110 阅读 · 0 评论 -
android EditText设置后缀
为android EditText添加后缀原创 2023-02-27 17:21:33 · 726 阅读 · 1 评论 -
android开发优化代码质量的一些思考
不知道起什么标题比较合适,所以起了一个这么奇怪的标题。本意是将自己的一些经验输出出来,但又不敢确定写出来的内容的质量,所以不敢起如何写优质代码类似这样的标题。原创 2023-02-27 17:09:07 · 588 阅读 · 0 评论 -
android unit test mock框架使用记录
之前上班时,开发一个功能之后,还需要编写测试用例,使用的框架是mock。为什么防止以后用到时忘了,在这里记录一下。原创 2023-02-27 16:33:05 · 1301 阅读 · 0 评论 -
EventBus源码解析-总结篇
目录方法分析方法分析unregisterunregister取消注册```java/** Unregisters the given subscriber from all event classes. */public synchronized void unregister(Object subscriber) { List原创 2020-08-24 21:30:48 · 461 阅读 · 0 评论 -
EventBus源码解析
EventBus github:https://github.com/greenrobot/EventBus本博客是基于EventBus3.2.0版本编写的,不同版本的代码可能有所不同。目录如何使用方法分析其他代码个人推荐用法后记如何使用先从如何使用EventBus开始,再分析每个步骤的代码。注册Register and unregister your subscriber. For example on Android, activities and fragments shoul原创 2020-08-23 14:02:29 · 745 阅读 · 0 评论 -
安卓实现替换EditText粘贴的内容
效果图在点击粘贴之后弹出了一个toast提示,既然可以做到弹出toast,那想干其他事情还不简单。比如,将用户粘贴的文本替换成其他文本,这才是研究实现这个功能的原因。先说一下实现方式,需要继承EditText/AppCompatEditText,再重写onTextContextMenuItem方法,先直接上代码。public class CustomEditText extend...原创 2020-03-11 22:36:54 · 1181 阅读 · 0 评论 -
安卓实现带搜索框的Spinner(2)
效果图:源码之前在这篇文章介绍了如何基于TextView实现带搜索框的Spinner直到拿到项目中使用,才发现了各式各样的问题,想着解决这些问题太麻烦了,所以决定重写现在看来,很庆幸当时决定重写,因为重写后很多地方的代码看起来不像之前那么绕,之前一个onClick方法写了一堆代码,现在的onClick方法也简化了很多先初始化3个常用变量val screenHeight...原创 2019-02-07 22:08:13 · 2557 阅读 · 2 评论 -
android使用DataBinding踩坑记录
---error: duplicate attribute.估计很多人遇到后都不知道怎么办,但一直提示layout文件有问题,所以就尝试将跟布局的width和height属性去掉,然后就没有这个问题了---有ViewPager的界面必须为ViewPager设置一个id在没有使用DataBinding的时候,通常都会为ViewPager设置一个id.有一次在使用的时候结合Data...原创 2018-12-30 22:24:12 · 4865 阅读 · 0 评论 -
Android实现RecyclerView的ItemDecoration
RecyclerView出来已经好久了,关于ItemDecoration的文章也一大堆,我也来讲讲ItemDecoration的使用方式.源码使用过ListView/GridView或多或少都有在每个Item中间添加间隔物这样的需求,也都提供了相应的添加方式.RecyclerView也不例外,只不过Google只是提供一个叫ItemDecoration的类,并没有提供比较好的实现类,所以这...原创 2018-12-09 22:20:18 · 956 阅读 · 0 评论 -
安卓实现类似汽车速度表的进度条
效果图左边的黑色边框有一部分看不到,这是三星自带的录制屏幕软件的问题,请不要在意这个控件主要分为5个部分:1,外边框.2,进度条.3,隔离进度条和中间圆盘的部分.4,文本.5,中间圆盘进度条 进度条:如果没有将canvas先旋转90°的话会发现画出来的渐变效果是这样的 就会发现右下角这都是什么玩意,代码:val paint = Paint(...原创 2018-06-20 21:28:53 · 2365 阅读 · 3 评论 -
安卓实现带搜索框的Spinner
实际开发中发现该View写得有问题,所有重写了一个,链接由于我接手现在开发的app的时候用的Spinner是https://github.com/jaredrummler/MaterialSpinner 这位大神的,所以里面一些解决问题的思路是参考这位大神的,先感谢他.效果图实现思路1,继承TextView,内置一个PopupWindow用于弹出列表2,P...原创 2018-05-29 22:40:08 · 5658 阅读 · 1 评论 -
修改android studio导入的第三方gradle的源码
使用android stuido无法直接修改,谈一下自己修改源码的过程事情是这样的,前几天发现鸿洋大神的百分比控件在安卓7.0以上的marginLeft/marginRight有时没起作用,然后在鸿洋的github上看到了解决方案.但这个要修改源码,本来,直接将github上面的源码下载下来,然后修改一下再替换掉就可以解决了,但并不想这么做,而android studio又没办法直接修...原创 2017-12-25 21:47:41 · 3883 阅读 · 0 评论 -
更新android studio后构建项目遇到的坑
先是要打包项目,然后android studio告诉我要更新kotlin插件后才能打包,所以就更新了,随便也把android studio的版本更新了.更新后就出现问题了,gradle一直显示连接超时,刚开始以为是墙的问题,开了翻墙软件,没什么卵用.最后点击了,android studio右上角的show ... log,找到一个idea.log的文件,看了一下里面的log,找到一句u原创 2017-06-30 09:54:23 · 2670 阅读 · 0 评论 -
百度地图MapView实现圆角
效果图在百度和百度地图社区都找不到什么资料,查了好久的百度api也看不到什么方法,后来自己想歪办法实现了,在这里记录一下,也可以帮助到有需要的人我目前使用的百度地图版本是4.0,在官方提供的api的MapView和BaiduMap都找不到什么设置圆角的方法(找到的请不要喷我)实现方式,在MapView下面再使用一个View,背景是一个shape,中间透明,框距和圆角的边框一样,框的原创 2017-08-02 21:54:16 · 2997 阅读 · 1 评论 -
android stuido集成jni
1,下载ndk,这个百度一找一大堆,不用说2,在android studio下载这2个工具CMake,LLDB.ctrl+alt+s,打开设置.选择Appearen...->System Settings->Android SDK->SDK Tools可以找到3, 新项目->android studio必须2.2以上,在创建项目的时候直接勾选include c++即可到了这里自原创 2017-07-30 16:43:51 · 389 阅读 · 0 评论 -
设置spinner选项选择后变成灰色
先上效果图再先说实现方式,继承ArrayAdapter,重写getView方法,大概的代码是这样的,这些基本都是从ArrayAdapter里面复制出来的现在开始说明实现过程公司的产品叫我当选择车型在第一个的时候变成灰色,这样就类似于变成未选择状态,然后我的spinner是直接用ArrayAdapter实现的.然后就网上查了一下实现方式,我也不太记得了,反正好原创 2017-07-27 21:42:19 · 2385 阅读 · 0 评论 -
安卓模仿膜拜单车地图显示的功能
这是效果视频https://pan.baidu.com/s/1c2IVmRA原创 2017-09-14 23:10:53 · 1749 阅读 · 0 评论 -
关于对ListView getView完成的监听
在使用listView的时候,难免需要监听listView是否加载完成.但很多人都清楚,在noti后执行并没什么乱用然后在网上稍微查了一下,有人说google也没对listView加载完成提供回调,然后就看到有人说用什么post,也不太懂,然后就没用上了.今天又遇到这个问题,然后就想了一个办法,在getView的时候记录count,当count大小等于list的大小的时候就视为加载完成.原创 2017-08-30 23:33:35 · 3678 阅读 · 0 评论 -
解决androiud studio kotlin插件一直提示命名规范的问题
使用kotlin插件一直都有一个问题,一直提示命名规范.对于有代码洁癖的人来着简直就是折磨,所以根据提示修改了kotlin的命名规范,使其成为自己的规范而不会一直提示.将光标放在带有下灰色波浪线上面的时候,会提示什么不符合这个正则表达式所以就按代码提示键弹出这个框,选择edit...会发现打开后编辑框的正则表达式就和刚才上面提示的正则表达式一样,所以修改一下正则表达式就可以了不过正则表达式已经好久...原创 2017-10-30 22:01:35 · 2904 阅读 · 0 评论 -
安卓百度地图根据2点坐标计算marker旋转角度
在网上找了很久都没有找到有用的,后来拿我经理发给我的,说这也是他在百度提供的代码复制过来的.所以附上源码和翻译成kotlin的代码,方便大家使用,也防止以后自己再遇到这样的问题不知如何是好.原创 2017-11-13 21:25:14 · 4131 阅读 · 1 评论 -
实现百度地图marker平滑移动
先讲一下思路,再贴代码效果图,图片被csdn吃了,贴链接吧图片车辆的图片比较难找,最后随便找张图片背景公司说要实现一个车辆监控功能,所以先给了我一些经纬度,叫我模拟车辆移动的过程.刚开始实现的方式就是简单的将车辆不断的设置到下一个经纬度,但这种实现方式有一个问题,就是将地图拉大的时候车辆看起来明显不是在移动,是在跳到某个点.然后看到web端的效果是真正的在移动,但不断地查百...原创 2017-11-27 18:15:04 · 11844 阅读 · 9 评论 -
安卓实现查看通话记录
安卓实现查看通话记录原创 2017-01-15 11:43:13 · 4175 阅读 · 2 评论 -
关于listView的addFootView遇到的坑
最近公司的项目叫我在订单列表加一个功能,就是刷新完成后顶部有一个view点击之后可以刷新.刷新的时候我就先把view remove掉,刷新完成后再重新addFootView.然后奇怪的事情发生了,刷新完成后点击footView各种没反应,过了几秒之后才显示已经点击很多次了.具体没看源码,不过出现这样的情况,大概是因为addFootView和removeFootView都比较耗时,所以才会出现这样的原创 2017-06-19 23:41:58 · 717 阅读 · 0 评论