
Bitmap位图介绍
Bitmap位图介绍Android中的Bitmap和Java中的Bitmap可不一样,它专门用来存储图像。给ImageView显示,或者用来存储Canvas画布绘制的图像。1、了解Bitmap关于Bitmap有一些知识点需要先了解。1.1、Bitmap用途Bitmap最常用的两种用途,前面已经说到:①设置给ImageView显示②用来保存Canvas画布上绘制的图案1.2、Bitmap.Confi
2026年以前手搓博客一千多篇。如今 Claw、Cursor、Claude 等 AI Agent 横空出世。只需一句话,AI 就能生成文章、调整格式、润色语言,并一键自动发布。欢迎来到 AI 驱动博客时代 🚀

Bitmap位图介绍Android中的Bitmap和Java中的Bitmap可不一样,它专门用来存储图像。给ImageView显示,或者用来存储Canvas画布绘制的图像。1、了解Bitmap关于Bitmap有一些知识点需要先了解。1.1、Bitmap用途Bitmap最常用的两种用途,前面已经说到:①设置给ImageView显示②用来保存Canvas画布上绘制的图案1.2、Bitmap.Confi

InsetDrawable:内嵌Drawable更多Drawable详见Android Drawable。1、InsetDrawableInsetDrawable将其它Drawable内嵌到自己,在四周预留空白。当视图需要的背景小于视图的实际边界时,使用此方法很有用。当然之前学到的LayerDrawable:叠加图层也可以实现该需求。2、语法参考Inset drawable。2.1、语法Inset

TransitionDrawable:淡入淡出Drawable更多Drawable详见Android Drawable。1、TransitionDrawableTransitionDrawable继承自LayerDrawable,算是对层级LayerDrawable的扩展(详见LayerDrawable:叠加图层),不过最多只支持两个子<item>。1.1、简介旨在在第一层和第二层之间淡入淡出。调

LevelListDrawable:按级别选择Drawable更多Drawable详见Android Drawable。1、简介LevelListDrawable管理多个备用Drawable的资源,每个Drawable都分配了一个最大数值。 使用setLevel(int )设置对象的级别值将为图像加载下一个大于或等于其max属性的值。 LevelListDrawable的一个很好的用法示例是电池电

LayerDrawable:叠加图层今天要介绍的Drawable只中的层叠Drawable:LayerDrawable,通过将一些图片层叠的方式组合起来,实现特殊的显示效果。比如EditText输入框的下划线背景:更多Drawable详见Android Drawable。1、LayerDrawableLayerDrawable是管理其他可绘制对象阵列的可绘制对象。列表中的每个可绘制对象均按照列表顺

Drawable中的形状:ShapeDrawable在安卓开发中非常常见,常用来作为View的背景。但是光会简单的用法还不够,需要对这个图像体系有一个整体系统的认知,详见《Android Drawable》。和Drawable有关的就是Shape图形,在自定义Drawable也接触过<shape />标签,见《ShapeDrawable:Android自定义背景》。1、ShapeShape定义通用

大有可为的着色器:Shader平时开发的时候或多或少都接触过相关的技术,但是却没有系统详细的学习一下。Android设计到的知识点很多,特点广泛而杂。有网络相关的,硬件相关的,图形图像相关的等等,每一点都得或多或少需要学习掌握一些。1、ShaderShader直译过来就叫“着色器”,该类是抽象的基础类,Shader共有五个子类:BitmapShader、LinearGradient、RadialG
Android数据库帮助类SQLiteOpenHelperSQLiteOpenHelper是Android提供的帮助程序,用于数据库创建和版本管理。1、SQLiteOpenHelperSQLiteOpenHelper是抽象类,在Android Q中SQLiteOpenHelper实现了AutoCloseable接口。1.1、SQLiteOpenHelper介绍该帮助类简化开发人员连接建议数据库的繁
Uri工具:UriMatcher和ContentUrisAndroid中的Uri用处很多,在ContentProvider中用于访问特定数据、用于启动系统特定界面等Activity。关于Uri另一篇笔记有详细的记录,详见Android Uri。Android系统很庞大,类库众多,提供了非常多的工具类,有两个Uri相关的工具类需要了解一下:UriMatcher和ContentUris。1、UriMa
作业调度:JobScheduleAndroid中有很多定时任务,比如定时后台更新数据,使用AlarmManager设置(详见AlarmManager定时任务)。但是这些往往会很耗电,如果偷偷的直接执行任务,用户的电量不知不觉的没了体验很不好。推荐用Jetpack中的Jetpack定时任务利器:WorkManager!1、JobSchedule从API Level 21加入的JobSchedule任

Material轻量级反馈:Snackbar了解Material Design的开发者对Snackbar不陌生,这是和Toast一样的轻量级反馈。关于Toast详见Toast:前后台弹出Toast不一致?。1、SnackbarSnackbar和Toast类似,方法也都差不多。Snackbar继承自BaseTransientBottomBar。1.1、使用SnackbarSnackbar不是系统自带
SharedPreferences应用开发中常常需要保存一些简单的状态,比如时间、开关状态等,使用数据库有点大材小用,Android系统有专门的数据结构用来保存简单的数据:SharedPreferences。通常配合设置界面保存各种设置项状态,详见《PreferenceScreen 设置项》及《PreferenceFragmentCompat 设置界面》。1、SharedPreferencesSh

ViewPager进化版:ViewPager2大名鼎鼎的翻页视图ViewPager和RecyclerView一样被众多广大的应用使用,抖音上下滑动观看视频用的主控件就是ViewPager。继ViewPager翻页控件,Google又推出了它的升级版本ViewPager2。1、ViewPager2“上一任”ViewPager有一些瑕疵,于是Google就推陈出新搞出了个ViewPager 2.0。1
Android UriUri在Android也是比较常见的一个工具类,最常用的场景是通过Uri可以访问特定的ContentProvider,其次通过Uri启动特定的界面。应用也可以添加定义处理一些Uri,也就是熟悉的DeepLink,详见Android DeepLink跳转。1、Uri什么是Uri?统一资源标识符(Uri)是一串字符串,用于标识抽象资源或物理资源。Android还提供了两个Uri工
Android meta-data用法Android技术比较多、杂、散,需要自己构建合适的知识栈,思维图谱,将这些细碎的技术组织起来。比如提到Activity立马就能迁出Activity相关的技术点(启动流程、Intent、Window、ContextThemeWrapper、Activity生命周期等等)。1、<meta-data />标签第一次在AndroidManifest.xml中看到<m

布局动画:LayoutTransition1、LayoutTransition介绍Layouttransition位于android.animation包中,Google从API 11时引入这个Layouttransition工具类,专门用来处理ViewGroup布局发生变化时对子控件进行动画处理。比如一组数据在ViewGroup中显示,这个时候如果添加或者删除其中的数据,同时伴随着每个item的

更简单的动画实现:ViewPropertyAnimator前面学习了补间动画,属性动画创建动画,相对来说比较专业,但也显得繁琐。只要在View层中实现一个简单的动画需要创建各种辅助的类对象,还好Android又提供了一条路,让开发者直接操作View来添加动画。1、ViewPropertyAnimatorAndroid比较让人头疼的是提供了很多方法可以实现相同的目的(API太多)。动画也是,前面已经

Linux查看文件内容Linux命令查看文本文件有很多命令,最熟悉的是cat,除此之外还有tac、more、less等文件查看命令。1、catLinux中最常用的查看文件内容命令,查看文件全部内容。详见cat: Concatenate and write files。1.1、选项使用--help查看cat命令还有如下这么多的可选参数,不过平时基本上都用不到。-A 等效于-vET-b 数字非空输出行

属性动画关键帧:keyframe上次介绍学习了PropertyValuesHolder《属性动画:PropertyValuesHolder》,其中还提到一个ofKeyframe()的构造方法,传入Keyframe参数。今天单独专门学习一下什么是Keyframe关键帧。1、KeyframeKeyframe类从API 11开始引入android.animation包中。1.1、介绍Keyframe包含

属性动画:PropertyValuesHolder前面属性动画学习的过程中,在ValueAnimator中提到过ValueAnimator.ofPropertyValuesHolder(PropertyValuesHolder... values)构造方法(详见《属性动画:ValueAnimator及其监听器》3.1节),还有ObjectAnimator中也提到过ObjectAnimator.of