随笔博文

  • 高效处理列表数据变化,你需要了解的 DiffUtil

    DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较

    2023-03-07 michael007js 425

  • Kotlin Collection KTX:让你的集合操作如丝般顺滑

    当今移动应用开发,常常需要使用各种集合类型来存储和操作数据。Kotlin 提供了 Collection KTX 扩展库,为我们操作集合提供了非常方便的 API。在本篇文章中,我们将介绍 Collection KTX 中包含的所有扩展函数,让你的集合操作变得更加高效、简单、易读。除了 Collection KTX,Kotlin 还提供了许多其他扩展库,例如 Android KTX、Coroutine

    2023-03-07 michael007js 208

  • 告别 Android 开发“Read timed out”

    问题错误特征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

  • String.format()格式化代码

    常用类型转换符详细说明示例%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

  • Android-View阴影Drawable

    背景:CardView是Google的Material Design风格,并且开放出来的自定义api极少,无法满足非Material Design风格的UI阴影设计

    2023-03-03 michael007js 90

  • Android-任意屏幕永不变形的背景视频播放View

    前言:播放视频TextureView要比SurfaceView更加合适,尤其是视频是以背景的形式。技术点:背景视频就是一张动态的图片,图片的ScaleType可以支持centerCrop,视频咱们可以自己造centerCrop原理解析:用Video最大的一条边(一般指Height)与容器View最大边计算比例,进行等比缩放。系统api解析:android.graphics.MatrixsetSca

    2023-03-03 michael007js 158

  • CoordinatorLayout.Behavior详解

    先看官网对 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实现,透明度百分比转换成十六进制

    下面是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

首页
关于博主
我的博客
搜索