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


当前回答

FILL_PARTENT在API级别8及更高版本中被弃用,在更高版本中将其重命名为MATCH_PARENT

两者都是相同的FILL_PARTENT和MATCH_PARENT,FILL_PPARENT用于低于API级别8的较低版本,MATCH_PATENT用于高于8的较高API级别。

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

fill_parent:视图应该和其父视图一样大(减去填充)。从API Level 8开始,此常量已弃用,并由match_parent替换。

有关详细信息,请访问此页面

其他回答

只是为了给它一个更接近实际行动的名字。“fill_parent”不会像名称所暗示的那样填充剩余空间(为此,您使用权重属性)。相反,它占用的空间与其布局父级一样多。这就是为什么新名称是“match_parent”

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

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

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

match_parent和fill__parent是相同的属性,用于水平或垂直定义全屏视图的宽度或高度。

这些财产在android xml文件中使用,如下所示。

 android:layout_width="match_parent"
 android:layout_height="fill_parent"

or

 android:layout_width="fill_parent"
 android:layout_height="match_parent"

fillparent在以前的版本中使用过,但现在已被弃用,并被match_parent取代。我希望这对你有帮助。

当您在XML属性中将布局宽度和高度设置为match_parent时,它将占据父视图的整个区域,即它将与父视图一样大。

<LinearLayout
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:background="#f9b0b0">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#b0f9dc"/>

</LinearLayout>

兔子的父母是红色的,孩子是绿色的。儿童占据所有区域。因为它的宽度和高度是match_parent。

注意:如果父级应用了填充,则不会包含该空间。

<LinearLayout
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:background="#f9b0b0"
    android:paddingTop="20dp"
    android:paddingBottom="10dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#b0f9dc"/>

</LinearLayout>

因此TextView高度=300dp(父高度)-(20(paddingTop)+10(paddingBottom))=(300-30)dp=270 dp

填充与匹配

fill_parent是match_parent的前一个名称

对于API级别8及更高版本,fill_parent重命名为match_parent,fill_perent现在已弃用。

所以fill_parent和match_parent是相同的。

fill_rent的API文档

视图应该与其父视图一样大(减去填充)。从API Level 8开始,此常量已弃用,并由{@code match_parent}替换。