摘要: 效果: 682657097525172732.jpg 使用方法: <com.aruba.flowlayout.Flowlayout android:id="@+id/fl_test" android:layout_width="fill_parent" android:layout_height=" 阅读全文
posted @ 2019-12-20 15:14 aruba_233 阅读(21) 评论(0) 推荐(0)
摘要: 上次看到ViewRootImpl在performTraversals()方法中先后调用performMeasure(),performLayout(),performDraw()方法,我们先看performMeasure()方法 ViewRootImpl#performTraversals() .. 阅读全文
posted @ 2019-12-18 14:23 aruba_233 阅读(21) 评论(0) 推荐(0)
摘要: 之前说到ActivityThread的handleLaunchActivity方法调用了Activity的onCreate方法,handleLaunchActivity方法调用完后,ActivityThread会调用handleResumeActivity方法,下面只保留了核心代码 @Overrid 阅读全文
posted @ 2019-12-13 14:01 aruba_233 阅读(22) 评论(0) 推荐(0)
摘要: 之前介绍了Activity的setContentView方法,实际上是调用Window的setContentView方法,那么Window是什么时候被创建的呢?这就要看主线程ActivityThread的方法handleLaunchActivity /** * Extended implementa 阅读全文
posted @ 2019-12-13 11:09 aruba_233 阅读(6) 评论(0) 推荐(0)
摘要: 上次说到PhoneWindow的setContentView方法会先实例化DecorView,并加载基础布局,调用完installDecor后,我们继续往下看 public void setContentView(int layoutResID) { ... if (hasFeature(FEATU 阅读全文
posted @ 2019-12-12 13:55 aruba_233 阅读(17) 评论(0) 推荐(0)
摘要: 目的:深入分析setContentView方法传入布局文件id,到底做了什么 setContentView方法内部: public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutR 阅读全文
posted @ 2019-12-12 11:02 aruba_233 阅读(21) 评论(0) 推荐(0)
摘要: 由于上一篇框架需要控件重新渲染一次,对于大型项目性能方面运行不够快,针对该问题进行优化 核心思想:自定义组件,在组件的onMeasure中就改变控件的长宽等属性 实现方法:自定义百分比组件,使用该组件自动适配该组件下所有子view,以下例子以针对Linearlayout为基础 在attrs.xml中 阅读全文
posted @ 2019-12-11 13:44 aruba_233 阅读(20) 评论(0) 推荐(0)
摘要: 核心思路:利用ui设计稿的尺寸和手机自身尺寸得出缩放比,再将控件宽高处理后设置到控件上。性能方面会多渲染一次控件 ui设计稿高和宽这边假设是1920*1080,具体根据实际设计稿来设置 //ui图上的宽高 private static final int BASE_WIDTH = 1080; pri 阅读全文
posted @ 2019-12-11 09:19 aruba_233 阅读(42) 评论(0) 推荐(0)
摘要: 效果图如下: clockView.png 属性详解: <!--表轮数字描述的字体颜色--> <attr name="cv_describeColor" format="color" /> <!--速度与KM/h的字体颜色--> <attr name="cv_textColor" format="co 阅读全文
posted @ 2017-11-17 11:37 aruba_233 阅读(21) 评论(0) 推荐(0)
摘要: 单链表结构如下图: 单链表.jpg 单增.png 首先定义节点的数据格式: 一个节点包含存储的元素,指向上个节点的对象,指向下个节点的对象 class Node { public Node pre; public Node next; public T item; public Node(Node 阅读全文
posted @ 2017-11-17 11:06 aruba_233 阅读(27) 评论(0) 推荐(0)