8

引入 match_parent 和弃用 fill_parent 的原因是什么,因为两者的含义相同。这种变化不会成为向后兼容性的障碍吗?

4

2 回答 2

10

使用 match_parent 而不是 fill_parent 不会使生成的 APK 在旧版本中无法运行,因为在生成的 APK 中 match_parent 和 fill_parent 的出现将被替换为它们对应的常量值,在这种情况下是相同的(都是 -1),所以相同APK 也可以在旧版本的 Android 平台上运行。

但是在编译代码时,如果您切换到旧版本(版本 7 或更低版本),则会出现编译错误(因为 match_parent 未在版本 7 或更低版本中定义)。

于 2012-05-25T13:43:49.980 回答
4

安卓文档说:

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

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

所以它们是相同的,因为它们的值都是-1。但是如果你担心向后兼容性,你可以去这里:platfrom version

这让您更好地了解何时应该将所有的 fill_parent 更改为 match_parent。截至目前,似乎有 50% 的人使用 API 级别 8 或更高级别。所以改变它取决于你。

于 2011-09-30T09:16:12.313 回答