- 博客(10)
- 收藏
- 关注
原创 Android 内存泄漏经典案例及解决方案
场景:在 Activity 中创建非静态的 `Handler`、`Runnable` 或异步任务(如 `Thread`、`AsyncTask`)。场景:在 Activity 中启动 `AsyncTask` 或 `Thread` 执行耗时任务,任务未完成时 Activity 被销毁。场景:数据库连接、文件流、Bitmap 等资源未在 `onDestroy()` 或 `onPause()` 中及时释放。2. 及时取消注册监听器:在 `onDestroy()` 或 `onStop()` 中移除回调。
2025-02-24 23:25:03
663
原创 Android 未读通知呼吸灯修改
()方法下面的逻辑就是去开启未读消息呼吸灯的,在前面的判断加上自己需要屏蔽的逻辑即可。需求:只有来短信、未接电话呼吸灯才闪烁提示,其他应用的未读通知呼吸灯不闪烁提示。在NotificationManagerService.java的。
2024-07-01 17:43:13
568
原创 Android GitHub开源库CalendarView的使用
onCalendarIntercept返回true就表示不可选中,反之亦然。可分别调用scrollToPre()、scrollToNext()方法。可以在如下方法内获取到选中的日期。
2024-03-18 15:33:27
2626
2
原创 Android View自定义多档位开关控件
分段式的进度条,支持单点、滑动更改进度,每一小段为一个整体,实际应用可以当做各种多档位调节开关使用。感觉该控件比较实用,便记录一下。源码参考,修改了自己想要的样式,原博客样式圆角的。
2024-03-01 16:41:13
587
1
原创 Android 自定义 Switch (使用selector实现)
可以通过定义switch的thumb(滑块)和track(轨道)的图片来达到自定义switch样式的目的,现把相关的步骤记录下来,然后用选择器selector来实现switch的不同状态,来加载不同的drawable文件。5.创建switch_custom_thumb_selector.xml。6.创建switch_custom_track_selector.xml。2.创建switch_custom_thumb_off.xml。4.创建switch_custom_track_off.xml。
2024-02-29 15:42:53
1705
原创 Android RecyclerView + ItemTouchHelperCallback 基本使用(拖动交换位置、滑动删除item、item点击事件的监听)完整demo
【代码】Android RecyclerView ItemTouchHelperCallback 基本使用(拖动交换位置、滑动删除item、item点击事件的监听)完整demo。
2024-02-01 11:19:32
773
1
原创 Android launcher3 Folder文件夹展开时隐藏Workspace、Hotseat、PageIndicatorDots
文件夹展开动画集都写在 FolderAnimationManager.java中,所以可以将隐藏Workspace、Hotseat、PageIndicatorDots的动画写在里面,仿造源码中getAnimator()写的动画,添加对应的即可。其中 Workspace、Hotseat、PageIndicatorDots 的View可以使用如下对应获取到。在 Folder.java中没有动画的时候,会去执行closeComplete()方法,逻辑如下。
2024-01-24 13:33:41
749
1
原创 Android launcher3 应用抽屉搜索功能实现模糊查询
launcher3搜索算法相关的逻辑在DefaultAppSearchAlgorithm.java的getTitleMatchResult方法下面,其中matches方法返回true就表示可以查询到。要实现输入字母查询到中文的应用,就需要将中文应用的title转换成拼音,这里使用pinyin4j-2.5.0.jar来实现 ,如下官方下载链接。项目导入pinyin4j-2.5.0.jar,在项目libs目录下添加jar包即可(app/libs/pinyin4j-2.5.0.jar)。
2024-01-19 16:00:46
492
1
原创 android textview 自动滚动跑马灯效果
写一个Util静态方法,在获取findViewById下面调用并传入一个TextView即可实现自动滚动跑马灯效果。
2024-01-10 09:25:11
1070
原创 Android launcher3 应用列表背景透明修改方法
getWorkspaceScrimColor方法下面就是设置all app背景颜色,可以直接修改widgets_picker_scrim改成自己想要的颜色,透明的话直接改成 return Color.TRANSPARENT。ShelfScrimView类下有绘制抽屉界面背景方法drawBackground(Canvas canvas),去掉该方法即可实现全透明效果。//去掉all app页面背景,使其变成全透明背景。
2024-01-03 17:39:30
1063
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人