View与ViewGroup绘制原理解析(三):LayoutParams

本文详细解析了Android中的LayoutParams,包括MATCH_PARENT、窗口位置、权重分配、窗口类型、内存缓冲类型和行为选项等关键属性,对于理解View与ViewGroup的绘制原理至关重要。
摘要由CSDN通过智能技术生成

MATCH_PARENT

两个变量:widthheight

属性及可用的常量定义

1. public int x;

如果忽略gravity属性,那么它表示窗口的绝对X位置。 什么是gravity属性呢?简单地说,就是窗口如何停靠。 当设置了 Gravity.LEFT

或 Gravity.RIGHT

之后,x值就表示到特定边的距离。

2. public inty;

如果忽略gravity属性,那么它表示窗口的绝对Y位置。 当设置了 Gravity.TOP

或 Gravity.BOTTOM

之后,y值就表示到特定边的距离。

3. public float

horizontalWeight

; public float

verticalWeight

;

在纵/横向上,为关联的view预留了多少扩展空间(像素)。如果是0,那么此view不能被拉伸。 其他情况下,扩展空间(像素)将被widget所均分。

4. public

int

type

;

窗口类型。有3种主要类型:Applicationwindows:

取值在 FIRST_APPLICATION_WINDOW

和 LAST_APPLICATION_WINDOW

之间。 是通常的、顶层的应用程序窗口。必须将 token 设置成 activity 的 token 。Sub_windows:

取值在 FIRST_SUB_WINDOW

和 LAST_SUB_WINDOW

之间。 与顶层窗口相关联,token 必须设置为它所附着的宿主窗口的 token。Systemwindows:

取值在 FIRST_SYSTEM_WINDOW

和 LAST_SYSTEM_WINDOW

之间。 用于特定的系统功能。它不能用于应用程序,使用时需要特殊权限。

**下面定义了 type

的取值:**

应用程序窗口。

public static final int

FIRST_APPLICATION_WINDOW

= 1;

所有程序窗口的“基地”窗口,其他应用程序窗口都显示在它上面。

public static final int

TYPE_BASE_APPLICATION

=1;

普通应哟功能程序窗口。token必须设置为Activity的token,以指出该窗口属谁。 public static final int

TYPE_APPLICATION

= 2;

用于应用程序启动时所显示的窗口。应用本身不要使用这种类型。 它用于让系统显示些信息,直到应用程序可以开启自己的窗口。 public static final int

TYPE_APPLICATION_STARTING

= 3; 应用程序窗口结束。 public static final int

LAST_APPLICATION_WINDOW

= 99;

子窗口。子窗口的Z序和坐标空间都依赖于他们的宿主窗口。

public static final int

FIRST_SUB_WINDOW

= 1000;

面板窗口,显示于宿主窗口上层。

public static final int

TYPE_APPLICATION_PANEL

= FIRST_SUB_WINDOW

;

媒体窗口,例如视频。显示于宿主窗口下层。

public static final int

TYPE_APPLICATION_MEDIA

= FIRST_SUB_WINDOW

+1;

应用程序窗口的子面板。显示于所有面板窗口的上层。(GUI的一般规律,越“子”越靠上&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值