我经常读这样的东西:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
LayoutParams究竟做了什么?我读过纪录片,但看完后我并不聪明!
希望有人可以解释一下LayoutParams做什么或通过什么!
亲切的问候!
LayoutParams
是您在.xml布局文件中为View
提供的所有参数的Java对象表示,如layout_width
,layout_height
等。从View
获取此对象允许您在运行时查找这些参数,还可以在Java代码中更改它们,当您需要移动View
,更改它的大小等时。
视图使用LayoutParams告诉他们的父母他们想要如何布局。
基本的LayoutParams类只描述了视图对宽度和高度的要求。对于每个维度,它可以指定以下之一:
FILL_PARENT(在API级别8及更高级别中重命名为MATCH_PARENT),这意味着视图希望与其父级(减去填充)WRAP_CONTENT一样大,这意味着视图要足够大以包含其内容。
这就是所有人。
LayoutParams用于动态更改布局宽度和高度。并且通过使用LayoutParams直接使用相对或线性类型布局,也可以使用不带xml的创建自定义视图。
基本上当你设置一个带有'match_parent'的xml或者像layout_something这样的东西时,android充气器会为孩子设置布局参数,并使用与父控件匹配的相应布局参数,你也可以在代码中执行此操作,如果忘记或设置错误的类型,您将在运行时获得异常。父控件需要此信息来正确布局子控件并符合他的喜好。