darren专题

红橙Darren视频笔记 builder设计模式 navigationbar 导航栏第二版

1.builder设计模式简介 builder的实际应用的典型案例有AlertDialog和OKHttp 例如 // AlertDialogAlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).setTitle("标题").setNegativeButton("取消", (dialog, which)

红橙Darren视频笔记 启动不在清单文件注册的activity 安卓8有效

参考链接 https://www.jianshu.com/p/aa03c4458b9a https://www.jianshu.com/p/af148ab5ddf7 前提: 了解InvocationHandler的使用以及Activity的启动流程 另外还需要对反射比较了解 如果不是很了解可以参考如下两篇文章 https://blog.csdn.net/u011109881/article/

红橙Darren视频笔记 换肤框架2 原理篇 view创建的拦截

1.实现换肤的要求与方案分析 要求 1.换肤后每一次打开应用都是新的皮肤 2.换肤后所有的activity里面的View都要换肤(即时刷新) 做法: 为所有Activity添加theme的监听 当theme发生变化的时候 通知所有Activity进行换肤 如果使用fragment,activity内部遍历自己的fragment 也进行换肤 换肤分为两步 1.找到皮肤包的位置 2.给所有的vie

红橙Darren视频笔记 IOC注解框架 了解xUtils3与ButterKnife的原理

1.什么是IOC IOC是Inversion of Control的缩写,直接翻译过来就叫依赖反转,看起来感觉不明觉厉,我觉得IOC就是一种解耦方式。比如原本我们在Activity中findviewbyId或者setOnClickListener时比较麻烦,需要写很多代码,比如findviewbyId需要让Activity中的view和布局文件的对应的view形成映射;setOnClickLis

红橙Darren视频笔记 九宫格解锁 Java版 IntDef使用

参考链接 https://www.jianshu.com/p/74e760ef8d10 花了接近一天 终于完工 最终效果: 九宫格看起来复杂 将步骤分解 其实不是很复杂 本文先讲思路 后贴代码 一 定义结构体 测量宽高 结构体Point用于记录各个点 点的位置 index用于记录密码 status记录按下的状态 覆盖onMeasure方法 取宽高中的较小者 绘制一个正方形 二 绘制默认状态