1 linearGradient简介linearGradient线性渐变,会用到Paint的setShader,Shader 被称为着色器,在opengl中这个概念经常被用到,android中的shader主要用来给图像、文字着色,Shader在绘制过程中会返回横向重要的颜色组,Paint设置shader后,绘制时会从shader中获取颜色,也就是需要shader告诉画笔某处的颜色值。Shader
2023-03-23 michael007js 856
概述相信大家在项目中使用RecyclerView时,经常会遇到这样的需求:将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。下面就讲解4种RecyclerView定位滚动的方式及具体效果演示。scrollByrecyclerView.scrollBy(x, y)使用:recyclerView.scrollBy(
2023-03-17 michael007js 1076
多线程实现方式 定义一个线程子类,并继承Thread类。 定义一个runnable子类,实现runnable接口,并将该用runnable子类传递给一个Thread类对象。 上述使用runnable接口定义多线程的好处 在java中不允许多继承的存在,若想简介使用多继承可以利用接口来实现若想定义一个已实现某个抽象的父类的线程时,在不使用接口时,无法继续继承Thread类,那么问题就出现了,这也就是
2023-03-15 michael007js 152
android 判断是否rootimport java.io.File;import java.util.Arrays;import java.util.List;public class AExecuteAsRoot { public static boolean isRootSystem() { if(isRootSystem1()||isRootSystem2()){
2023-03-15 michael007js 358
正三角<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/shape_i
2023-03-09 michael007js 673
DiffUtil 是 Android 中用于计算两个列表之间差异的实用工具类。它可以优化 RecyclerView 的刷新操作,仅刷新需要更新的部分,从而提高性能并减少不必要的操作。本篇博客将从简单到高级,介绍使用 DiffUtil 的基本流程以及一些高级用法,帮助开发者更好地使用 DiffUtil。什么是 DiffUtil?DiffUtil 是一个用于计算两个列表之间差异的实用工具类。它通过比较
2023-03-07 michael007js 580
当今移动应用开发,常常需要使用各种集合类型来存储和操作数据。Kotlin 提供了 Collection KTX 扩展库,为我们操作集合提供了非常方便的 API。在本篇文章中,我们将介绍 Collection KTX 中包含的所有扩展函数,让你的集合操作变得更加高效、简单、易读。除了 Collection KTX,Kotlin 还提供了许多其他扩展库,例如 Android KTX、Coroutine
2023-03-07 michael007js 314
问题错误特征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 298