我对两个XML财产有点困惑:match_parent和fill_parent。看起来两者都是一样的。它们之间有什么区别吗?


当前回答

match_parent,这意味着视图希望与其父视图一样大(减去填充)。

wrap_content,这意味着视图要足够大,以包围其内容(加上填充)

为了更好地说明,我创建了一个演示此概念的示例布局。为了看到效果,我为每个textView内容添加了边框。

在“匹配父项”文本视图内容中,我们可以看到它的布局宽度超出其父项的整个长度。

但我们可以在“包装内容”文本视图内容中看到,它是内容(包装内容)长度的包装宽度。

其他回答

对我来说,填充父项和匹配父项执行相同的功能,仅限于:

填充父项:在API 8之前使用

匹配父项这是从API 8中使用的+两者的功能在填充旁边填充父视图

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

FILL_PARENT和MATCH_PARENT都是相同的财产。FILL_PARTENT在API级别8中被弃用。

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

FILL_PARTENT(在API级别8及更高版本中重命名为MATCH_PARENT),这意味着视图希望与其父视图一样大(减去填充)...fill_parent:视图应该和其父视图一样大(减去填充)。从API Level 8开始,此常量已弃用,并由match_parent替换。

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

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

LayoutParams.FILL_PARTENT和LayoutParams.MATCH_PARENT都具有值-1。不确定是什么促使谷歌从填充父项更改为匹配父项:)

由于大多数手机都是>=Android 2.2,因此您应该使用Match Parent以获得未来的兼容性。。。不确定他们何时会停止旧的Fill Parent常量!

两者具有相似的功能,唯一的区别是fill_parent在API级别8之前使用,match_parent在API级别或更高级别之后使用。