DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较
2023-03-07 michael007js 415
问题错误特征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 143
常用类型转换符详细说明示例%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 73
背景: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 155
先看官网对 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 416
下面是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 142
常用属性//是否显示标题app:titleEnabled="true"//标题内容app:title="CollapsingToolbarLayout"//扩展后Title的位置app:expandedTitleGravity="left|bottom"//收缩后Title的位置app:collapsedTitleGravity=&quo
2023-02-01 michael007js 133