自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不再烦恼

互相学习,记录点滴

  • 博客(15)
  • 收藏
  • 关注

原创 RxJava3 知识点

Rxjava的一些知识点

2023-09-14 17:18:24 225

原创 Android 如何让子线程更新UI (仅分析,不建议使用)

Android 如何在子线程更新UI

2023-09-01 13:41:01 383

原创 Android 自定义绘制之文字测量知识点

上面的写法只是针对静态文字的绝对居中,但如果文字换成“abcq”,那么其中的“abc”就会略微向上移动,如果是动态变化的文字,就会造成文字的高低动态变化,显得很乱,那么动态变化的文字如何居中呢。上端贴边有三种方式,分别是利用TextBounds的top、FontMatrics的top或者ascent 三个值,来去掉边。Bottom:最低字符到baseline的值,即descent的最大值,为正数。Top:最高字符到baseline的值,即ascent的最大值,为负数。

2023-08-17 16:46:06 186

原创 Android 自定义绘制 小知识点

记录一些自定义绘制时的小知识点,包括Canvas、Path、Paint、PathMeasure 等工具类。

2023-08-17 13:39:59 98

原创 OkHttp(4.11.0版本)的源码解析

OkHttp 4.11.0 源码解析

2023-07-20 18:00:19 886

原创 Retrofit (2.9.0) 的使用及源码分析

对Retrofit的使用以及源码进行讲解和分析

2023-07-14 11:54:34 370

原创 解决 Plugin [id: ‘com.android.application‘, version: ‘x.x.x‘, apply: false] was not found ......

步骤一:查看一下你的gradle对应的JDK版本是否过低,目前8.0版本对应的是JDK17.

2023-06-19 15:18:39 27253 9

原创 ARouter 源码解析

ARouter 源码解析

2022-12-21 12:00:02 300 1

原创 Android手势是如何一步步分发到View的

Android手势是如何一步步分发到View的

2022-06-07 17:55:01 303

原创 Android View 绘制流程 过程分析

前言今天整理了一下Android View的绘制流程,记录一下一、如何获取View的宽高我们经常会遇到要获取控件宽高的情况,可以通过以下两种方式来获取。1. 通过View的post() MFragmentTabView tabView = findViewById(R.id.fragment_tab_view); tabView.post(new Runnable() { @Override public void run() { tabView.getW

2022-04-26 17:31:44 1835

原创 Android Launcher 的HomeActivity的创建流程

基于上一篇关于Launcher进程的创建后,记录一下Launcher进程创建后HomeActivity的创建流程,还是只记录关键点1.ActivityThread(进程入口类,主线程,管理四大组件的调度)->main()->Looper.prepareMainLooper() 初始化Looper->attach() 转2->Looper.loop() 主线程开始轮询2.ActivityThread->attach(IApplicationThread appThr

2021-12-03 14:29:12 338

原创 Android Launcher应用进程启动流程 基于Android-12

最近研究了一下Launcher应用进程的创建流程,记录一下1.ActivityManagerService(应用进程的启动、切换和调度、四大组件的启动和管理)-> systemReady() 系统服务启动完成后,会调用systemReady(),启动Launcher2.ActivityTaskManagerService$LocalService(负责管理Activity及其容器如Task,Display等)-> startHomeOnAllDisplays()3.RootWindow

2021-12-02 18:02:00 2454

原创 Android 全局 防止按钮多次点击

在 BaseActivity 类中引用如下代码即可private long LAST_CLICK_TIME; // 上一次点击事件private boolean isFastClick() { boolean flag = true; long currentClickTime = System.currentTimeMillis(); // 两次点击间隔不能少于500ms if ((currentClickTime - LAST_CLICK_TIME) >= 5

2021-11-01 10:20:11 1718

原创 Android 跳转应用市场评价

Intent intent = new Intent("android.intent.action.MAIN");intent.addCategory("android.intent.category.APP_MARKET");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);

2018-05-04 15:44:57 674

原创 MBP 常用 命令行

基于MacOS HomeBrew Node 等工具的命令行

2017-08-24 11:09:46 330

空空如也

空空如也

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

TA关注的人

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