FILL_PARENT 和 MATCH_PARENT [重复]

Posted

技术标签:

【中文标题】FILL_PARENT 和 MATCH_PARENT [重复]【英文标题】:FILL_PARENT and MATCH_PARENT [duplicate] 【发布时间】:2012-04-14 12:24:42 【问题描述】:

现在我在整个应用程序中都使用 MATCH_PARENT。 我决定让 android 2.1 用户可以使用该应用,但 MATCH_PARENT 直到 Android 2.2 才引入

如果我希望我的应用在 Android 版本为 2.2 及更高版本时使用 MATCH_PARENT 但如果它是 2.1 则使用 FILL_PARENT(或者如果我决定稍后向他们打开它,则使用更低版本),我应该如何执行此操作?

【问题讨论】:

【参考方案1】:

FILL_PARENTMATCH_PARENT 是同一个东西,如果用户拥有的版本是2.2 或更高版本,FILL_PARENT 将自动替换为MATCH_PARENT。所以最好使用FILL_PARENT,支持向后兼容。 Android 开发网站上有一个关于此的博客,如果您想了解更多详细信息,希望您能找到它。

【讨论】:

哇,我不知道它会自动替换。我想如果它被贬低,你应该不惜一切代价避免它。谢谢! @dokgu 是什么让您认为已弃用意味着必须不惜一切代价避免它?如果是这样,就不会有迁移路径。【参考方案2】:

他们做了完全相同的事情,只是改变了 2.2+ 的语法。我想说总是使用 FILL_PARENT,这样如果您计划支持 2.1 或更低版本,它就可以一直工作。

【讨论】:

【参考方案3】:

即使您支持 Android 2.1 或更低版本,也不应再使用 fill_parent。您可能知道 Java 编译器会在类文件中将FILL_PARENTMATCH_PARENT 等常量静态转换为它们各自的值。这也发生在布局 XML 文件上。

如果您不相信这一点,请在您的模拟器上尝试一下(您应该在 AndroidManifest.xml 中声明 android:minSdkVersion="4")。

【讨论】:

以上是关于FILL_PARENT 和 MATCH_PARENT [重复]的主要内容,如果未能解决你的问题,请参考以下文章

不推荐使用的单词是fill_parent和match_parent之间的唯一区别

android中的fill_parent和match_parent有啥区别[重复]

android: 简单的 LinearLayout 和 fill_parent 问题

Android布局中match_parent和fill_parent的差别

FILL_PARENT 和 MATCH_PARENT [重复]

android中fill_parent和match_parent之间的区别[重复]