DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较
2023-03-07 michael007js 425
当今移动应用开发,常常需要使用各种集合类型来存储和操作数据。Kotlin 提供了 Collection KTX 扩展库,为我们操作集合提供了非常方便的 API。在本篇文章中,我们将介绍 Collection KTX 中包含的所有扩展函数,让你的集合操作变得更加高效、简单、易读。除了 Collection KTX,Kotlin 还提供了许多其他扩展库,例如 Android KTX、Coroutine
2023-03-07 michael007js 208
问题错误特征Could not run phased build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-5.5.1-all.zip' A problem occurred configuring root project 'PlanAssistan
2023-03-05 michael007js 144
常用类型转换符详细说明示例%s字符串类型"喜欢请收藏"%c字符类型'm'%b布尔类型true%d整数类型(十进制)88%x整数类型(十六进制)FF%o整数类型(八进制)77%f浮点类型8.888%a十六进制浮点类型FF.35AE%e指数类型9.38e+5%g通用浮点类型(f和e类型中较短的)不举例(基本用不到)%h散列码不举例(基本用不到)%%百分比类型%(%特
2023-03-03 michael007js 75
背景:CardView是Google的Material Design风格,并且开放出来的自定义api极少,无法满足非Material Design风格的UI阴影设计
2023-03-03 michael007js 90
前言:播放视频TextureView要比SurfaceView更加合适,尤其是视频是以背景的形式。技术点:背景视频就是一张动态的图片,图片的ScaleType可以支持centerCrop,视频咱们可以自己造centerCrop原理解析:用Video最大的一条边(一般指Height)与容器View最大边计算比例,进行等比缩放。系统api解析:android.graphics.MatrixsetSca
2023-03-03 michael007js 158
先看官网对 CoordinatorLayout 的介绍 CoordinatorLayout is a super_powered FrameLayout。CoordinatorLayout is intended for two primary use cases:As a top-level application decor or chrome layout;As a container fo
2023-02-17 michael007js 420
下面是Java实现,透明度百分比转换成十六进制: 透明度也是以0到255表示的,所以也是总共有256级,透明是0,不透明是255for (double i = 1; i >= 0; i -= 0.01) { i = Math.round(i * 100) / 100.0d; int alpha = (int) Math.round(i * 255); String hex = Inte
2023-02-06 michael007js 150