Android 新手引导 NewbieGuide 原理解析
项目中经常会用到引导页面这样一个东西,方便教育/提醒小白用户有或者怎样使用产品狗设计出来的创意(奇葩)功能。为此程序员和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 原理解析相关推荐
- Android 插件化原理解析——Activity生命周期管理
之前的 Android插件化原理解析 系列文章揭开了Hook机制的神秘面纱,现在我们手握倚天屠龙,那么如何通过这种技术完成插件化方案呢?具体来说,插件中的Activity,Service等组件如何在A ...
- Android代码入侵原理解析(一)
Original 2017-05-06 付超红 滴滴安全应急响应中心 2017年初,在滴滴安全沙龙上,滴滴出行安全专家--付超红,针对App的攻与防进行了分享.会后大家对这个议题反响热烈,纷纷求详情求 ...
- Android 插件化原理解析——Hook机制之AMSPMS
在前面的文章中我们介绍了DroidPlugin的Hook机制,也就是代理方式和Binder Hook:插件框架通过AOP实现了插件使用和开发的透明性.在讲述DroidPlugin如何实现四大组件的插件 ...
- Android动画-Animation原理解析
Android动画-Animation原理解析 一.概述 在android中动画分为3类,帧动画.补间动画.属性动画 今天要说的就是"补间动画",补间动画的基类是Animation ...
- Android 广播实现原理解析
Android 广播实现原理解析 前言 Android四大组件中的BroadcastReceiver,在我们实际工作中被频繁的使用,我们可以利用系统的开机广播,网络状态改变的广播等等实现我们的业务逻辑 ...
- Android之Butterknife原理解析
转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 Butterknife是一个专注于Android系统的View注入框架, ...
- Android 热修复原理解析
概述 关联文章 JVM 类加载机制 Android 中的ClassLoader 假如刚发布的版本出现了bug,我们就需要解决bug,并且重新发布新的版本,这样会浪费很多的人力物力,有没有一种可以不重新 ...
- Android插件化原理解析——ContentProvider的插件化
目前为止我们已经完成了Android四大组件中Activity,Service以及BroadcastReceiver的插件化,这几个组件各不相同,我们根据它们的特点定制了不同的插件化方案:那么对于Co ...
- Android 插件化原理解析——Service的插件化
在 Activity生命周期管理 以及 广播的管理 中我们详细探讨了Android系统中的Activity.BroadcastReceiver组件的工作原理以及它们的插件化方案,相信读者已经对Andr ...
最新文章
- 为什么苹果 M1 芯片如此之快?
- aspx后台调用前台jquery_Jquery Ajax调用aspx页面方法
- Vue-router VUE路由系统
- java 杭州专卖店_杭州JAVA哪家有名气
- python中res代表什么_在下面的代码中,zip(*res)在python中是什么意思?
- 加载java ie停止工作_打开网页,IE浏览器提示Internet Explorer 已停止工作什么原因?怎么解决?...
- oracle表段是什么,【DB笔试面试274】在Oracle中,什么是延迟段创建(Deferred Segment Crea......
- 60佳优秀的国外电子商务网站设计案例(上篇)
- html调用js函数取随机返回数值并自动显示在html页面
- python滑稽脸代码_如何用python进行简单的syn flood滑稽(带代码@)
- 磁盘/分区克隆:如何将硬盘数据快速迁移至新的硬盘?
- android+cast+sdk,如何使用Android发现Chromecast设备?
- python安装以后怎么打开_安装python后如何打开
- 沐风水库理论:企业微信生态营销秘密核武器
- 粉丝来信:黑猫投诉对象给投诉错了,又无法撤销删除应该怎么办呢?
- 用js给自己照相并修图
- Python 一个快速视频剪辑编辑神器 — Moviepy
- 软件项目实施原则规范
- databinding+viewmodel mvvm初学者踩坑
- 怎样用计算机做初中物理实验,如何利用多媒体上好物理实验课
热门文章
- 18天精读掌握《费曼物理学讲义卷一》 第4天 2019.6.17
- 费曼物理学讲义(连载)
- python学习笔记——字符串操作
- codeforces 514B
- F - 恐怖分子 CodeForces - 514B
- js正则:提取css语法中的背景图片名字
- java实现中国象棋1:界面的制作
- 中华云盒M1刷Linux教程,N1 盒子刷最新版 armbian 及软件安装
- linux 文件共享技巧
- linux串口文件传输助手怎么用,SerialTool: SerialTool是一个实用的串口调试工具,这款工具支持串口调试助手、波形显示和文件传输等功能...