Android App实现闪屏页广告图的全屏显示实例
目录1. 适配长屏幕的全面屏2. 适配刘海屏或者水滴屏凹形屏幕的显示模式1. 适配长屏幕的全面屏至于全屏展示,就得做适配工作,有以下两种方式可进行适配:在 Android 8.0(API 26)及...
目录1. 适配长屏幕的全面屏2. 适配刘海屏或者水滴屏凹形屏幕的显示模式1. 适配长屏幕的全面屏至于全屏展示,就得做适配工作,有以下两种方式可进行适配:在 Android 8.0(API 26)及...
目录一、Flow的基本概念二、Flow的生命周期与异常处理2.1 开始与结束2.2 异常的处理2.3 retry的处理2.4 超时的处理2.5 Flow的取消三、Flow的创建方式四、Flow的接收方式五...
目录Kotlin中SharedFlow的使用 VS StateFlowSharedFlow的特点一、SharedFlow的使用二、SharedFlow、StateFlow、LiveData的对比三、SharedFlow 的粘性设置与事件总线总结Kot...
目录前言自定义圆球动态随机添加小球前言最近公司产品突然有一个类似支付宝蚂蚁森林的功能,大致功能跟支付宝蚂蚁森林相像,在看了一下支付宝蚂蚁森林的效果之后,打算先撸一个控...
目录1.嵌套函数2.@JvmOverloads快捷实现函数重载3.延迟初始化lateinit var4.@JvmField减少属性set和get方法的生成1.嵌套函数业务开发中,我们可能会遇到这样一个场景:一个函数...
目录背景so动态加载介绍从一个例子出发so库检索与删除动态加载so结束了吗?ELF文件扩展总结背景对于一个普通的android应用来说,so库的占比通常都是巨高不下的,因为我们无可避免...
目录效果前言使用引入material包常规圆角圆描边切角菱形叶子半圆六边形属性扩展shapeAppearanceShapeAppearanceModelMaterialShapeDrawable说明描边问题默认圆角问题Github...
1.在view的加载和绘制流程中:文章链接我们知道,定义在layout.xml布局中的view是通过LayoutInflate加载并解析成Java中对应的View对象的。那么具体的解析过程是哪样的。先看onC...
Android事件类型public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: brea...
目录前言1 RecyclerView的加载流程2 自定义RecyclerView2.1 RecyclerView三板斧2.2 初始化工作2.3 ItemView的获取与摆放2.4 复用池2.5 数据更新3 RecyclerView滑动事件处理...
本文实例为大家分享了Android实现底部滚轮式选择弹跳框的具体代码,供大家参考,具体内容如下先看效果:调用方法:SlideDialog slideDialog = new SlideDialog(this, list, false,...
目录前言1. 使用 chart_range_selector2. ChartRangeSelector 实现思路分析3.核心代码实现分析4. 结合图表使用前言最近有一个小需求:图表支持局部显示,如下底部的区域选择器...
目录前言EventBus的简介EventBus的实际应用总结前言flutter项目中,有许多可以实现跨组件通讯的方案,其中包括InheritedWidget,Notification,EventBus等。本文主要探讨的是EventB...
目录引言一、协程上下文1.CoroutineContext2.CorountineScope3.子协程继承父协程二、协程的异常传递1.协程的异常传播2.不同上下文(没有继承关系)之间协程异常会怎么样?3.向用...
目录引言一.Flow的创建二.Flow的消费1.SafeFlow类2.AbstractFlow类3. SafeCollector类4.消费过程中的挂起引言本文分析示例代码如下:launch(Dispatchers.Main) { flow {...
目录问题场景瞧瞧Live TemplatesLive Templates自定义customView指令Edit variables进一步优化总结问题场景之前写过一篇文章: 2.@JvmOverloads快捷实现函数重载, 借助于Kotl...
目录前言效果图简介功能拆解1.基础实现1.1 xml动态写法1.2 xml静态写法1.3 kotlin/java代码写法2.添加图标3.字体大小、加粗4.去掉Tab长按提示文字5.去掉下划线indicator6....
目录一、分析需求二、准备工具三、进行实际操作四、adb常用命令介绍总结一、分析需求手机里有些系统软件我们是用不到的,有时反而还会影响我们使用手机。为此,我们可以将它们...
1.android 消息循环有4个重要的类Handler、Message、Looper、MessageQueuehandler 用来发送、处理消息。Message 是消息的载体。MessageQueue 是一个消息队列,既然是队列,就有...
目录前言1 ANR原因总结1.1 KeyDispatchTimeout1.2 BroadCastTimeout1.3 ServiceTimeout1.4 ContentProviderTimeout2 ANR问题解决2.1 线下问题解决2.2 线上问题解决2.2.1 Bu...
目录前言1 arm指令集2 AndFix热修复原理2.1 ArtMethod2.2 ART编译模式2.3 AndFix框架实现2.3.1 获取ArtMethod2.3.2 方法替换2.4 AndFix动态化配置2.4.1 dex打包2.4.2 dex文...
目录一、背景二、Android Audio 音频系统1. 音频链路2. 音频链路关键节点:3. 音频库的选择三、案例分析1. 声音忽大忽小问题具体分析2. 应用卡顿问题具体分析四、总结一、背...
目录前言如何使用精灵图自定义实现加载Flame加载精灵图前言在日常开发中遇到的图片展示一般是静态图和Gif图两种形式(静态和动态的不同)。与此同时当需要对图片做效果时让其动...
目录Kotlin Flow在开发中的常用场景使用一、网络请求搭载Retrofit1.1 LiveDataCallAdapterFactory1.2 suspend二、协程与Flow的选择与差异三、StateFlow与SharedFlow的选择...
目录背景知识一、Android VM的内存空间1.查看内存的API二、Android VM内存分配流程小结三、出现OOM的建议解决方案背景知识Android中每个App默认情况下是运行在一个独立进程...
1.App的启动流程,从startActivity到Activity被创建。这个流程主要是ActivityThread和ActivityManagerService之间通过binder进行通信来完成。ActivityThread可以拿到AMS 的Bi...
目录1.apply 函数2.let 函数3.run函数4.with 函数5.also6.takeIf7.takeUnless1.apply 函数apply函数可以看做是一个配置函数。针对apply函数的调用者做一些配置,并把调用者返...
1.在kotlin中,默认类都是封闭的closed的。如果要让某个类开放继承,必须用open关键字修饰类中的方法默认也是关闭的。如果需要子类复写父类的方法,也必须用open修饰。1)定义父类,...
目录1.扩展函数2.infix 关键字3.扩展函数文件4.重命名扩展函数1.扩展函数1)当我们没法接触某个类的定义,或者某个类没有用open修饰无法继承时,我们可以通过扩展函数,来实现该类...
目录背景术语对齐探索如何优雅地提供接口调用?怎样封装多个不同类型的H5容器容器?整体架构通用容器框架容器基础组件这样的架构能带来什么样的好处?背景大家如果经历过Hybrid项...
本文实例为大家分享了使用ViewPager2实现轮播图效果的具体代码,供大家参考,具体内容如下0.实现效果1.添加依赖dependencies { ... implementation 'androidx.viewpa...
本文实例为大家分享了DatePicker日期滚动选择的使用,供大家参考,具体内容如下效果图为:1.dialog_date.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android...
本文实例为大家分享了ViewPager实现图片切换效果的具体代码,供大家参考,具体内容如下xml布局:<RelativeLayout android:layout_width="match_parent" an...
本文实例为大家分享了Viewpager2实现登录注册引导页面的具体代码,供大家参考,具体内容如下介绍屏幕滑动是两个完整屏幕之间的切换,在设置向导或幻灯片等界面中很常见实现图(图...
目录1.嵌套类2.数据类3.定义数据类的必须满足的条件4.解构声明5.枚举类enum class6.运算符重载1.嵌套类如果一个类只对另外一个类有作用,那么可以将其嵌入到该类中,使两个类在...
目录Compose的诞生Compose好处Compose 架构@Composable的背后智能重组真的那么智能吗最后Compose的诞生在2019年的谷歌IO大会上,Compose作为Android新一代UI开发亮相,因为声明...
目录引言1. LineGradientChart2. 散点图3. SteppedChart引言声明:文中的MPChart代指MPAndroidChart.本文主要讲解LineChart中的三个变种Chart,第一个是渐变的LineGradientChar...
目录一.标准布局组件二.修饰符三.滑动组件1.ScrollableRow和ScrollableColumn2.LazyRowFor和LazyColumnFor一.标准布局组件Compose中可以将多个控件元素组合使用,例如下面这...
目录系统应用根据Uri授予权限的正确姿势UriPermission背景分析checkGrantUriPermission系统为什么要这么做?调用者端解决办法扩展系统应用根据Uri授予权限的正确姿势在我们印...
目录前言ASM的作用是什么?如何使用ASM?基本使用方式自定义ClassVisitorASM ByteCode Viewer如何将ASM运用都我们的实际项目中来?引入工程Android Gradle Plugin创建插件项目配...
目录前言术语对齐客户端可以从哪些方面优化h5页面的加载速度?优化思路预渲染的基本实现逻辑是怎样的?预创建预创建个数预创建时机预创建复用预渲染预渲染时机预渲染有效性校验...
前言无论是顶部还是底部导航栏,都是大多数APP的标配,网络上的相关实现教程也非常之多。最近回忆起以前写的小项目,发现对这块内容有些遗忘,不妨就再整理一遍代码逻辑,记录下来,方...
目录一、开发工具1、软件介绍2、Android JDK配置3、Android Gradle配置4、Android API配置5、项目依赖配置二、项目细节详情1、andriodmanifest.xml配置详情2、ExampleInstr...
本文实例为大家分享了Android自定义控件实现雷达图的具体代码,供大家参考,具体内容如下学习了大神的源代码(奈何不知大神的博客地址),觉得必须记录一下,方便以后再次学习。效果如...
1.泛型类、泛型函数1)泛型类可以接收任意类型。Package<T>(t: T)2)泛型类中定义的泛型参数<T>,通常用T(Type)表示,(t: T) 这个表示泛型类Package的主构造函数可以接收T类型的属性...
目录使用场景主要功能监听剪贴板悬浮窗算前台吗?焦点时差监听剪贴板切换焦点的问题必须用悬浮窗获取剪贴板内容吗翻译单词悬浮窗显示翻译内容添加记忆悬浮窗位置的功能停止...
目录1.定义单例类2.对象表达式3.伴生对象在kotlin中的超类是Any,并没有使用Java中的Object关键字表示超类。在Kotlin中Object关键字,另有作用。1.定义单例类在一个进程中只有...
目录JVM与Dalvik基于栈的虚拟机字节码指令执行过程基于寄存器的虚拟机寄存器基于寄存器的虚拟机ART与Dalvikdex2aotdexopt与dexaotAndroid N的运作方式ClassLoader介绍Class...
1.在Kotlin中可以通过以下方式创建ArrayList、LinkedList、HashSet、HashMap等。 val arrayList = ArrayList<String>() val linkedList = LinkedList<String>() v...
目录1. 需求描述2. 基础知识3. 菜单加载4. 需求实现5. 总结1. 需求描述Android Menu菜单是比较常见的功能,在ActionBar or ToolBar上显示,点击更多(3个点),会有下拉列表菜单展...