我觉得对于普通人来说,最常见的是Android解屏的界面,然后应该是Home界面。今天就来分析一下解屏界面的相关代码(以索爱的解锁界面为例)。

首先看解屏的界面,我把解屏的界面分为两个部分,最上部是status Bar,下面是LockScreenSemc,在LockScreenSemc上有一个可供滑动解锁的界面,每个界面对应的类如图所示。

两个类所在包:

com.android.internal.policy.impl.LockScreenSemc.java

com.android.internal.widget.SlidingTabSemc.java

SlidingTabSemc.java分析:

分析我们的Touch在 SlidingTabSemc 上产生的效果,主要看onTouchEvent ()的处理。

ACTION_DOWN 时会调用disableButtonPress(),产生手指点击时的动画效果。

ACTION_MOVE 时会调用moveControl()产生图片跟随手指移动的效果。

ACTION_UP   时会判断移动的位置是否已经到了,可以触发Trigger的程度,如果到了,则调用   dispatchTriggerEvent,通知在 SlidingTabSemc上的Trigger Listener。由于 SlidingTabSemc上的 Trigger Listener是在  LockScreenSemc里实现的,所以会代用到 LockScreenSemc中。

LockScreenSemc.java分析:

代码中有一行:  private SlidingTabSemc mSelector; 将SlidingTabSemc 作为它的一个属性值,

linux 锁屏 代码,Android锁屏与解屏相关代码分析相关推荐

  1. Android运行ListView的代码,Android ListView组件详解及示例代码

    Android 列表组件 ListView 列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据. 下面看一个例子: 新建一个项目Lesson8_L ...

  2. android Json解析详解(详细代码)

    android Json解析详解(详细代码)   JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当 ...

  3. android 自动亮屏解锁,android锁屏唤醒并解锁屏幕

    1.这个方法是实现锁屏状态下唤醒手机,亮屏并解锁屏幕:public static void wakeUpAndUnlock(Context context){ //屏锁管理器 KeyguardMana ...

  4. android 后台截屏代码,Android实现截图和分享功能的代码

    先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...

  5. mac上投屏android_MacOS+Android,如何用上投屏控制软件scrcpy

    MacOS+Android,如何用上投屏控制软件scrcpy 2019-04-24 15:00:08 30点赞 534收藏 22评论 完成效果 话不多说,先上效果▼▼▼ 看我如何MacOS打开值得买 ...

  6. android实时监控屏幕代码,Android 屏幕切换监听的实例代码

    昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能. 由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activ ...

  7. android 方形按钮代码,Android中实现图文并茂的按钮实例代码

    效果图如下所示: 代码: android:orientation="horizontal" android:layout_width="match_parent" ...

  8. android登录操作代码,Android Studio实现第三方QQ登录操作代码

    来看看效果图吧 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件And ...

  9. android 锁屏音量,Android锁屏状态获取音量按键事件

    Android系统没有提供音量按键的广播,而Activity的onKeyDown方法只有在界面显示时才能捕获音量变化, 要在锁屏状态或后台获得音量按键事件,可以通过判断音量值的改变来判断是否按下了音量 ...

最新文章

  1. 如何定位EXC_BAD_ACCESS错误 (info malloc-history)
  2. 程序员求职成功路(2) - 第3章 数据结构与算法
  3. relative和absolute的区别
  4. 我在清华当工程师的日子
  5. RabbitMQ+PHP 教程六(RPC)
  6. Visual Studio 2019 16.1发布,更快更高效
  7. note_maven的基本使用
  8. jquery 把元素移动到另外一个元素里面
  9. leecode - 入门 -- 双指针秒杀数组/链表题目
  10. 6.Prometheus 监控技术与实践 --- 告警处理
  11. Hearing Range
  12. android背景图边框渐变,GitHub - jvyun/TestShape: 使用自定义属性替代项目中的shape文件,可以给View设置背景色、弧度、背景渐变、边框、边框颜色、渐变方向等...
  13. 以太坊的POS共识机制友善的小精灵 Casper
  14. FDDB和LFW到底是个啥?
  15. Spring Cloud Alibaba x AppActive 带来的全新异地活动解决方案
  16. Altium Designer-快速画封装,图解
  17. 学习笔记:python游戏脚本1.0版本,实现自动点击、识图、识别价格、弹窗提示低于预期价格可以购买
  18. Java RESTful Web Service实战(第2版)
  19. B端产品设计:价值主张与需求对应的价值
  20. 个人喜欢的网站http://www.w3school.com.cn

热门文章

  1. Android系统定时开关机实现简述
  2. Spring MVC : HandlerMappingIntrospector
  3. AltiumDesigner 安装
  4. dialog dismiss时键盘不消失的问题。
  5. 合天网安 在线实验 CTF竞赛 writeup(第六周 | 套娃一样的上传、第二十一周 | 你的空格哪去了、第十周 | 试试协议吧、第十一周 | 签到般的包含、第九周 | 试下phpinfo吧)
  6. PTA(三十三)面向对象程序设计 第五章 作业 7-4 分钟秒钟的时间相减 (30 point(s))
  7. 技术贴(1):将移动硬盘名从F盘改为E盘
  8. 多客| Lazada上传产品为什么审核不通过?卖家应遵守哪些规则?
  9. 不成熟的梦想家 (未熟DREAMER)
  10. JavaWeb学习——用户登录案例(13)