Android MTK Keyguard 锁屏UI 分析

来源:互联网 发布:知乎上传图片失败 编辑:程序博客网 时间:2024/05/04 21:14

注意有时候锁屏并不是 以apk的形式存在的, 直接在系统内部有一个锁屏框架

   源文件路径主要Android2.2和2.3版本有两个:

             frameworks\base\policy\src\com\android\internal\policy\impl\   ---->锁屏框架

             frameworks\base\core\java\com\android\internal\widget\          ----> 提供了一些的自定义View.


Android4.0之后好像就是apk 的方式存在了

Z:\alps\frameworks\base\packages\Keyguard\res\layout


Keyguard 最底层的那个View,并没有采用xml布局的方式,而是直接写在java文件里,在KeyguardViewManager.java 这个类当中,有个ViewManagerHost 内部类,这就是我们要找的ViewKeyguard 中所有的布局都是在ViewManagerHost基础上添加的,keyguard_host_view 就是第一个被加进来的,也从keyguard_host_view开始展开

 

1.    keyguard_host_view.xml,这个布局 port  land 的时候是不一样的,land是用作平板上的布局,不做分析。(如果要修改背景可以在这里添加)

一般修改壁纸或者背景资源只要替换drawable对应分辨率下的资源就ok,而对于没有相对应的资源图片时则采取上面的方式

Keyguard的布局都是采用FrameLayout,一层层叠加上去的,下面这些就添加在KeyguardHostView上面,所以修改锁屏壁纸修改KeyguardHostView的背景就可以了

 

2. keyguard_account_view.xml, 账户登录解锁,在忘记密码时,你可以登录一个Google账号进行解锁。

3. keyguard_add_widget.xml,这是供添加锁屏widget用,这里主要是一个 keyguard_add_widget_view ImageView,可以通过点击该ImageView进行widget的添加。

4. keyguard_emergency_carrier_area.xml 显示紧急拨号,和忘记密码按钮。

5. keyguard_face_unlock_view.xml,该界面主要是面部解锁布局。

6. keyguard_glow_pad_view.xml,通过 GlowPadView 这个View,你也可以自己很容易实现一个类似的拖拽界面。

7. keyguard_message_area.xml, 这其实是一个 TextView 主要是显示一些信息的,如充电状态,机主信息

8. keyguard_password_view.xml,这个就是密码锁屏的界面了

9. keyguard_pattern_view.xml 图案锁屏界面

10. keyguard_pin_view.xml PIN码锁屏界面

11. keyguard_selector_view.xml 这个就是默认 SecurityMode 为 None的默认锁屏界面

12. keyguard_sim_puk_view.xml,PUK码锁屏界面

13. keyguard_status_area.xml, 日期和闹钟信息

14. keyguard_status_view.xml,这个是时钟信息,将keyguard_status_area 布局包含在这里面

15. keyguard_transport_control_view.xml 显示音乐播放器的widget

16. keyguard_widget_pager.xml,注意这个port 和 land 的布局是不同的,这个KeyguardWidgetPager 主要是实现了不同widget页面间的滑动


0 0
原创粉丝点击