协慌网

登录 贡献 社区

match_parent 和 fill_parent 有什么区别?

我对两个 XML 属性有点困惑: match_parentfill_parent 。似乎两者都是一样的。它们之间有什么区别吗?

答案

它们是相同的(在 API 级别 8 + 中)。使用match_parent

FILL_PARENT(在 API 级别 8 及更高级别重命名为 MATCH_PARENT),这意味着视图要与其父级一样大(减去填充)

...

fill_parent :视图应该与其父视图一样大(减去填充)。从 API 级别 8 开始不推荐使用此常量,并将其替换为match_parent

http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html

谷歌更改了名称以避免混淆。

旧名称fill parent问题在于它暗示它影响父级的维度,而match parent更好地描述了结果行为 - 将维度与父级匹配。

两个常量最终都解析为-1 ,因此导致应用程序中的相同行为。具有讽刺意味的是,这个改变名称的名称似乎增加了混乱而不是消除它。

功能上没有区别,Google 刚刚从 API 级别 8(Android 2.2)将名称从 fill_parent 更改为 match_parent。出于兼容性原因,仍然可以使用 FILL_PARENT。

LayoutParams.FILL_PARENTLayoutParams.MATCH_PARENT都具有值 - 1。不确定是什么诱惑谷歌改变从填充父母到匹配父母:)

由于大多数phones are >= Android 2.2 .. 您应该使用 Match Parent 以便将来兼容... 不确定何时会停止使用旧的 Fill Parent 常量!