摘要:
背景 最近接了一个需求,需要实现一个全文按钮,如果文字超过指定的行数就只显示对应的行数的字数并在末尾显示一个全文按钮的字样,并且这个《全文》是可以被点击,点击之后展开全文,全文按钮变化为隐藏,展示所有文字。内心OS,这不是很简单嘛,只需动动手指头上网即可搜罗出来一大堆的实现,奈何奈何,资料少之又少, 阅读全文
摘要:
关于ValueAnimator学习的一些心得和记录。 结论先行:属性动画ValueAnimator是根据不断改变一个控件的属性达到动画的效果。 那么在一个属性动画执行了start()方法之后其做了一些什么事情呢,又是如何以及何时一帧一帧地获取屏幕刷新信号然后改变控件的属性,内部又进行了什么样的计算呢 阅读全文
摘要:
View View的基础知识 View是所有控件的基类,是所有界面层的抽象,一个View可以由一个控件组成也可以由一组控件组成,ViewGroup也继承自View,由此可以得出一个View树。 public class View implements Drawable.Callback, KeyEv 阅读全文
摘要:
Activity的生命周期和启动模式(一) 该模块主要是讲Activity的启动模式以及IntentFilter的匹配规则: Questions: 为什么KP2中这种情况会发生? KP2中旧的onStop什么时候调用呢? 目前看来是新的activity展示在前台之后会调用(还是说另开线程调用,所以与 阅读全文
摘要:
虚拟机类加载过程 Java虚拟机把描述类的数据从class文件加载到内存,并且对数据进行校验、转换解析和初始化,形成可以被虚拟机直接使用的java类型,这个过程称为类的加载过程,类的加载、连接、初始化都是在运行过程进行的 类加载的过程 加载 此下三步也成为连接阶段 验证 准备 解析(有可能是在初始化 阅读全文
摘要:
字节码初探 java文件在经过编译器编译后会生成.class文件,那么这个类型的文件内容或者格式是什么样子的呢? 注意,任何一个class文件都存着对应的唯一一个类或接口定义的信息,但是类和接口并不一定定义在class文件中,例如可以动态生成直接进入类加载器。 每个类都会生成一个class文件,即使 阅读全文
摘要:
本笔记记录目前学到的Kotlin中的集合学习内容,后续还会补充。 集合分为两类:可变集合类(Mutable)、不可变集合类(Immutable) 集合类型: List、set、map list:数组、链表、堆栈、队列等 set:无序:set 、 有序set—>TreeSet map: key-val 阅读全文
摘要:
一.VIew的绘制流程 View的绘制流程是从ViewRootImpl的performTraversals方法开始,它经过measure、layout和draw三个过程才能最终将一个View绘制出来。 !!!记住: // ActivityThread.java final void handleRe 阅读全文
摘要:
状态观察使用: Compose中的State封装了LiveData以及Observe从而达到同步的效果 /*一个使用例子 ViewModel 封装一个list的LiveDataprivate var _todoItems = MutableLiveData(listOf<TodoItem>())va 阅读全文
摘要:
View的绘制流程 一.VIew的绘制流程 View的绘制流程是从ViewRootImpl的performTraversals方法开始,它经过measure、layout和draw三个过程才能最终将一个View绘制出来。 !!!记住: // ActivityThread.java final voi 阅读全文