View与ViewGroup绘制原理解析(三),【Android面试题】

本文详细解析了Android系统窗口的各种类型,包括TYPE_SYSTEM_OVERLAY、TYPE_PRIORITY_PHONE等,以及窗口的内存类型和行为选项如FLAG_DIM_BEHIND、FLAG_NOT_FOCUSABLE等,深入探讨了Android窗口管理的底层机制。
摘要由CSDN通过智能技术生成

TYPE_SYSTEM_OVERLAY

= FIRST_SYSTEM_WINDOW

+6;

电话优先,当锁屏时显示。此窗口不能获得输入焦点,否则影响锁屏。

public static final int

TYPE_PRIORITY_PHONE

= FIRST_SYSTEM_WINDOW

+7;

系统对话框。(例如音量调节框)。

public static final int

TYPE_SYSTEM_DIALOG

= FIRST_SYSTEM_WINDOW

+8;

锁屏时显示的对话框。

public static final int

TYPE_KEYGUARD_DIALOG

= FIRST_SYSTEM_WINDOW

+9;

系统内部错误提示,显示于所有内容之上。

public static final int

TYPE_SYSTEM_ERROR

= FIRST_SYSTEM_WINDOW

+10;

内部输入法窗口,显示于普通UI之上。应用程序可重新布局以免被此窗口覆盖。

public static final int

TYPE_INPUT_METHOD

= FIRST_SYSTEM_WINDOW

+11;

内部输入法对话框,显示于当前输入法窗口之上。

public static final int

TYPE_INPUT_METHOD_DIALOG

= FIRST_SYSTEM_WINDOW

+12;

墙纸窗口。

public static final int

TYPE_WALLPAPER

= FIRST_SYSTEM_WINDOW

+13;

状态栏的滑动面板。

public static final int

TYPE_STATUS_BAR_PANEL

= FIRST_SYSTEM_WINDOW

+14;

系统窗口结束。

public static final int

LAST_SYSTEM_WINDOW

= 2999;

5. public int

memoryType

;

指出窗口所使用的内存缓冲类型。默认为 NORMAL

**下面定义了 memoryType

的取值:**

窗口缓冲位于主内存。

public static final int

MEMORY_TYPE_NORMAL

= 0;

窗口缓冲位于可以被DMA访问,或者硬件加速的内存区域。

public static final int

MEMORY_TYPE_HARDWARE

= 1;

窗口缓冲位于可被图形加速器访问的区域。

public static final int

MEMORY_TYPE_GPU

= 2;

窗口缓冲不拥有自己的缓冲区,不能被锁定。缓冲区由本地方法提供。

public static final int

MEMORY_TYPE_PUSH_BUFFERS

= 3;

6. public int

flags

; 行为选项/旗标,默认为 none .

**下面定义了 flags

的取值:**

窗口之后的内容变暗。

public static final int

FLAG_DIM_BEHIND

= 0x00000002;

窗口之后的内容变模糊。

public static final int

FLAG_BLUR_BEHIND

= 0x00000004;

不许获得焦点。 不能获得按键输入焦点,所以不能向它发送按键或按钮事件。那些时间将发送给它后面的可以获得焦点的窗口。此选项还会设置FLAG_NOT_TOUCH_MODAL选项。设置此选项,意味着窗口不能与软输入法进行交互,所以它的Z序独立于任何活动的输入法(换句话说,它可以全屏显示,如果需要的话ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值