我们从写一个自定义 View 开始,了解 View 分发机制
事件分发
返回true消费事件
我们都知道 OnTouchEvent 和 OnTouchListener.onTouch() 都会返回 boolean 值
返回 true 表示消费此次事件
并且消费的是这个事件指的是一个事件序列,这一事件序列都...
问题如果你要做一个功能:有 4 个按钮,按着按钮的时候,间隔 500ms 循环调用某个函数(比如打印一条 log,或者改某个数值),并且按下每个按钮,也不能影响其他按钮的按下状态,该怎么做?
解决思路你当然会直接想到 setOnTouchListener ,但是很快就会发现,按钮的按下事件只会回调一次
与多次回调的区别
如果你调...
第一个视频(学不会协程?很可能因为你看过的教程都是错的)学不会协程?很可能因为你看过的教程都是错的
协程的概念开头就说了,我们没有必要关注协程是什么!因为协程并没有一个官方的或者统一的定义,包括维基百科(作者一直在说 kotlin 协程,而不是只说协程,应该也是在表示,视频里只是讲解 kotlin 协程,而不是所有协程)
而对于 kotlin 协程,明确给出了,就是一套线程 API
协程的...
问题
很多博客自定义字体的时候,都是用的 google fonts 的链接但是很多字体 google fonts 里面没有,那我们该怎么办呢?
google fonts 的原理我们点开一个链接 Ubuntu mono https://fonts.googleapis.com/css2?family=Ubunt...
斐波那契数列在算法中占有很高的地位,
主要是很多题目背后的根源都是斐波那契数列
递归法算法思路递归
代码12345678910111213private fun fibonacci(n: Int): Int { if (n < 0) { return -1 } if (n == 0) { return 0 } if (n == 1) { return 1...
io
i(输入),o(输出)
只要是把数据从程序外部拷贝到程序内部,都叫输入,包括但不限于,硬盘文件数据,网络数据,其他应用程序的数据
只要是把数据从程序内部拷贝到程序外部,都叫输入,包括但不限于,硬盘文件数据,网络数据,其他应用程序的数据
FileInputStream & FileOutPutStr...
概念Dpi (Dots Per Inch)
每英寸点数,原本是从打印机过来的概念,对于显示屏幕,用 ppi
很多刚接触Android开发的小伙伴,对于这个dp一脸懵逼,百度了很久,也是一些计算dpi的方法,根本没有讲到点子上!
我们需要先了解一下这个DisplayMetrics类
里面有几个常用的常量
123456Log.d("lucas", "density = ${resources.d...
Drawable 是什么?Drawable并不是图
Drawable是一个抽象类,用于表示可绘制对象。本身是一个绘制工具,更像一个只专注于绘制的 View,所以一个 Drawable 显示什么,取决于它绘制什么
1234567package android.graphics.drawablepublic abstract class Drawable { ... public a...
背景介绍Kotlin 编译器 k2 出来了,就想着平时写 Kotlin 都是直接用的 IDEA 和 Android Studio ,并不是自己配置开发环境
这肯定是一个趋势,就是所有的开发环境配置项都i是点两下就配置好了,不用再去设置什么环境变量,非常地方便
但我还是想看看 Kotlin 是怎么编译运行的,以 JVM 为例,大概率是把 Kotlin 编译成 jar 包对吧,然后再调用 jav...
本文大量挪用 我竟然被” 双亲委派” 给虐了!-HollisChuang’s Blog如果可以还请看原文,原文写的非常好!!!强烈建议观看原文并点赞并且全网写得比较全的,我找了好几篇,基本都是抄的这个文章!!!
另外juejin某篇 双亲委派机制(奥利给干就完了) 也是我写的,我正在慢慢把juejin里写过的文章慢慢倒过来。。。
起因起因是因为某实习期的同事,在写代码的时候,写了大量stat...