项目中经常会用到引导页面这样一个东西,方便教育/提醒小白用户有或者怎样使用产品狗设计出来的创意(奇葩)功能。为此程序员和UI干了一架,到底谁来做。出于项目节奏的需要(被逼的),UI设计师往往没事干,拦下了此活,被项目组大赞无私。出图了,程序员开始贴图到页面,发布项目。

于此有大牛设计出简单方便的第三方库,解放了UI小妹妹。NewbieGuide

github地址:https://github.com/huburt-Hu/NewbieGuide

大佬已经将详细的用法和注意事项详细说明了。通读源码后在此啰嗦几句。

主要思想。

1.页面引导 在DecorView 的 android.R.id.content 既 Framelayout 里面添加最上层的View视图,通过

onDraw()绘画时,采用 Paint 的 setXfermode()设置绘画方式 PorterDuffXfermode.CLEAR 清除图像的方式 镂空下层的控件视图,已达到突出引导功能

2.局部引导 在需要设置引导的区域ViewGroup 控件区域,通过anchor方法设置需要显示的父控件,和第一种android.R.id.content 原理类似,替换了显示位置。

当然这只是其中的部分实践思想。具体请看源码。

Android 新手引导 NewbieGuide 原理解析相关推荐

  1. Android 插件化原理解析——Activity生命周期管理

    之前的 Android插件化原理解析 系列文章揭开了Hook机制的神秘面纱,现在我们手握倚天屠龙,那么如何通过这种技术完成插件化方案呢?具体来说,插件中的Activity,Service等组件如何在A ...

  2. Android代码入侵原理解析(一)

    Original 2017-05-06 付超红 滴滴安全应急响应中心 2017年初,在滴滴安全沙龙上,滴滴出行安全专家--付超红,针对App的攻与防进行了分享.会后大家对这个议题反响热烈,纷纷求详情求 ...

  3. Android 插件化原理解析——Hook机制之AMSPMS

    在前面的文章中我们介绍了DroidPlugin的Hook机制,也就是代理方式和Binder Hook:插件框架通过AOP实现了插件使用和开发的透明性.在讲述DroidPlugin如何实现四大组件的插件 ...

  4. Android动画-Animation原理解析

    Android动画-Animation原理解析 一.概述 在android中动画分为3类,帧动画.补间动画.属性动画 今天要说的就是"补间动画",补间动画的基类是Animation ...

  5. Android 广播实现原理解析

    Android 广播实现原理解析 前言 Android四大组件中的BroadcastReceiver,在我们实际工作中被频繁的使用,我们可以利用系统的开机广播,网络状态改变的广播等等实现我们的业务逻辑 ...

  6. Android之Butterknife原理解析

    转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 Butterknife是一个专注于Android系统的View注入框架, ...

  7. Android 热修复原理解析

    概述 关联文章 JVM 类加载机制 Android 中的ClassLoader 假如刚发布的版本出现了bug,我们就需要解决bug,并且重新发布新的版本,这样会浪费很多的人力物力,有没有一种可以不重新 ...

  8. Android插件化原理解析——ContentProvider的插件化

    目前为止我们已经完成了Android四大组件中Activity,Service以及BroadcastReceiver的插件化,这几个组件各不相同,我们根据它们的特点定制了不同的插件化方案:那么对于Co ...

  9. Android 插件化原理解析——Service的插件化

    在 Activity生命周期管理 以及 广播的管理 中我们详细探讨了Android系统中的Activity.BroadcastReceiver组件的工作原理以及它们的插件化方案,相信读者已经对Andr ...

最新文章

  1. MoeCTF 2021Re部分------Algorithm_revenge
  2. linux手机远程桌面连接软件下载,HomeCenter手机远程桌面下载_HomeCenter手机远程桌面官方下载-太平洋下载中心...
  3. 服务器版的mysql怎么装_WIN7服务器配置之MySQL数据库安装图解(适用于5.1,5.5的版本)...
  4. hihoCoder 1052 基因工程 最详细的解题报告
  5. linux查看数据积压,查看kafka消息队列的积压情况
  6. 前端学习(2471):vue-echarts和echarts的区别:
  7. 键盘 计算机代码,键盘钩子示例
  8. 考CFA证书只通过一级有用吗?
  9. 国家税务总局全国增值税发票查验平台-客户端
  10. 单细胞测序之scater包数据分析教程复现
  11. 扫拖一体洗地机实用吗、扫拖一体洗地机哪个品牌好,看完就知道
  12. Elasticsearch:Ingest pipeline 介绍
  13. Ceph Crush-Map与Ceph调优及其日常管理
  14. 2020 第三届安洵杯 MISC Writeup
  15. jeb 内存溢出解决方案
  16. 【工业智能】知识进化论:卓越运营是如何拥抱工业智能,如虎添翼的?
  17. 你的性格是什么颜色——记录乐嘉的性格色彩分析(附性格色彩自测题
  18. PC电脑端常见蓝屏代码自检测与解决方案
  19. 【Android TV】Android 8.0下 ,TV系统通知音失效
  20. 计算机考试桌贴,Word2010邮件合并一页打印多条记录(考务数据、准考证号、桌贴、考试通知单)...

热门文章

  1. springmvc 跨域访问
  2. 源码编译系列之mpv播放器编译教程
  3. 继续改进版臭事百科爬虫20160921
  4. 小程序picker标题_微信小程序实现自定义picker选择器弹窗内容
  5. My Chief My Regiment(最后续语)
  6. Retrofit2网络框架的使用
  7. 楼氏硅麦SPH0641LM4H-1
  8. 03.Hadoop之HDFS
  9. R语言基础教程6:程序设计基础
  10. 餐饮行业最新的经营模式——私域运营案例