Android WindowManger实现桌面悬浮窗功能
如果想实现一个在桌面显示的悬浮窗,用Dialog、PopupWindow、Toast等已经不能实现了,他们基本都是在Activity之上显示的,如果想实现在桌面显示的悬浮窗效果,需要用到WindowManager来实现了。 效果图 使用WindowManager实现 添加一个悬浮窗: sys_view = new SmallWindowView(mContext)
Android 2023年07月11日 71
如果想实现一个在桌面显示的悬浮窗,用Dialog、PopupWindow、Toast等已经不能实现了,他们基本都是在Activity之上显示的,如果想实现在桌面显示的悬浮窗效果,需要用到WindowManager来实现了。 效果图 使用WindowManager实现 添加一个悬浮窗: sys_view = new SmallWindowView(mContext)
Android 2023年07月11日 71
前言 这两个类就是ActivityThread和ViewRootImpl,之所以说碰不到是因为我们无法通过正常的方式引用这两个类或者其类的对象,调用方法或者直接拿他的属性。但他们其实又无处不在,应用开发中很多时候都和他们息息相关,阅读他们掌握其内部实现对我们理解Android运行机理有醍醐灌顶之疗效,码读百变其义自见,常读常新。本文就尝试从几个我们经常接触的方面先谈谈ViewRootImpl
Android 2023年07月11日 78
MTU是什么? MTU是指在一个协议数据单元中(Protocol Data Unit, PDU) 有效的最大传输Byte。 MTU默认是23byte,但是供我们使用的只有20byte。所以有时候不能满足我们的需求,需要我们手动设置MTU的大小。core spec中ATT的默认MTU为23个Byte,ATT的Opcode占1个Byte、ATT的Handle占2个Byte、GATT占20个Byte
Android 2023年07月11日 100
1. UseCase 的用途 Android 最新的架构规范中,引入了 Domain Layer(译为领域层or网域层),建议大家使用 UseCase 来封装一些复杂的业务逻辑。 传统的 MVVM 架构中,我们习惯用 ViewModel 来承载业务逻辑,随着业务规模的扩大,ViewModel 变得越来越肥大,职责不清。 Clean Architecture 提出的关注点分离和单一职责(S
Android 2023年07月11日 84
引言 翻译自:towardsdev.com/mastering-e… Kotlin 作为现代的、强大的编程语言,可以给开发者提供诸多特性和工具,得以帮助我们编写更加高效、更具可读性的代码。 其中一个重要的特性便是 Enum 枚举,其本质上是一种数据类型:允许你定义一组用名称区分的常量。 本篇文章将通过代码案例带你探索 Kotlin 枚举的进阶用法,进而帮助大家理解如何将 Enum 更好地应
Android 2023年07月11日 82
简介 什么是动画呢?动画实际上就是不同的图片连续起来形成的。flutter为我们提供了一个AnimationController来对动画进行详尽的控制,不过直接是用AnimationController是比较复杂的,如果只是对一个widget的属性进行修改,可以做成动画吗? 答案是肯定的,一起来看看吧。 flutter中的动画widget 如果你只是希望动画展示widget的属性的变化
Android 2023年07月11日 72
正文 在Flutter中,我们可以使用dart语言中的DateTime类来获取本月的开始时间和结束时间。以下是示例代码: void getMonthStartEnd() { DateTime now = DateTime.now(); // 获取当前日期时间 DateTime monthStart = DateTime(now.year, now.month, 1); // 获取本
Android 2023年07月11日 83
Android Studio 手机投屏 当我们在线上做技术技术分享或者功能演示时,有时需要共享连接中的手机屏幕,通常我们会求助于 Vysor,Scrcpy 等工具。如果你是一个 Android Developer,那么现在有了更好的选择。 近期 Android Studio Electric Eel (电鳗)发布了 Release 版,这个版本开始引入了 Divice Mirroring 功能
Android 2023年07月11日 104
帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐! 1.补间动画的分类和Interpolator Andoird所支持的补间动画效果有如下这五种,或者说四种吧,第五种是前面几种的组合而已。 AlphaAnimation: 透明度渐变效果,创建时许指定开始以及结束透明度,还有动画的持续时间,透明
Android 2023年07月11日 85
在 Android 中,创建子线程的方式通常有以下几种: 使用 Thread 类进行创建 Thread 是 Java 中的一个类,可以通过继承 Thread 类或者创建 Thread 对象并传入 Runnable 对象来创建子线程。例如: // 继承 Thread 类 public class MyThread extends Thread { @Override pub
Android 2023年07月10日 105