Answers:
它们是同一件事(在API Level 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
-1
。我对此感觉更好,我也没有得到任何改进... :-)
-1
。您会收到此错误,因为旧平台不知道相同常量的新名称。
Google更改了名称以避免混淆。
旧名称的问题fill parent
在于,它暗示了它会影响父级的尺寸,同时match parent
更好地描述了所产生的行为-将尺寸与父级匹配。
两个常量-1
最终都解析为,因此导致应用程序中的行为相同。具有讽刺意味的是,为了澄清事物而进行的此名称更改似乎增加了混乱,而不是消除了混乱。
FILL_PARENT
已在API级别8中弃用,并MATCH_PARENT
使用了更高级别的API
只是给它一个更接近实际动作的名称。"fill_parent"
不会像名称所暗示的那样填充剩余空间(为此您使用weight属性)。取而代之的是,它占用其布局父级的空间。这就是为什么新名称是"match_parent"
两者具有相似的功能,唯一的区别是,fill_parent一直使用到API级别8,而match_parent在API级别8或更高级别之后使用。
当您设置layout width
和height
as match_parent
in XML
属性时,它将占据父视图具有的整个区域,即它将与父视图一样大。
<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>
野兔父母是红色的,孩子是绿色的。儿童占据所有区域。因为是width
和height
是match_parent
。
注:如果将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 hight = 300dp(父级hight)-(20(paddingTop)+10(paddingBottom))=(300-30)dp = 270 dp
fill_parent
是的以前的名字 match_parent
对于API级别8和更高版本,现在已fill_parent
重命名为match_parent
和fill_parent
。
所以fill_parent
和match_parent
都一样。
该视图应与其父视图一样大(减去填充)。从API级别8开始不推荐使用此常量,并由{@code match_parent}代替。
match_parent,这意味着该视图希望与其父视图一样大(减去填充)。
wrap_content,这意味着视图要足够大以包围其内容(加上填充)
为了更好地说明,我创建了一个示例布局来演示此概念。为了查看效果,我为每个textView内容添加了一个边框。
在“匹配父级” textView内容中,我们可以看到其布局宽度沿父级整个长度扩展。
但是我们可以在“ Wrap Content” textView内容中看到,它是它的内容(Wrap Content)长度所包裹的布局宽度。
fill_parent:视图应与其父视图一样大。
现在,不推荐使用该内容fill_parent并由match_parent代替。
FILL_PARENT在API级别8和更高版本中被重命名为MATCH_PARENT,这意味着该视图希望与其父视图一样大(减去填充)-Google
FILL_PARENT
已从API级别8及更高版本中弃用,并为较高版本重命名为 MATCH_PARENT
两者都是相同的FILL_PARENT
并且MATCH_PARENT
,FILL_PARENT
在比API级8和MATCH_PATENT低版本少,使用了较高的API级大于使用超过8。
FILL_PARENT
(MATCH_PARENT
在API级别8和更高版本中重命名),这意味着该视图希望与其父视图一样大(减去填充)
fill_parent
:视图应与其父视图一样大(减去填充)。从API级别8开始不推荐使用此常数,并用代替match_parent
。
有关更多详细信息,请访问此页面
1. match_parent
当您将布局的宽度和高度设置为match_parent时,它将占用父视图的整个区域,即与父视图一样大。
注:如果将parent应用于填充,则不会包含该空间。
默认情况下,当我们创建layout.xml时,我们将RelativeLayout作为默认的父视图,并带有android:layout_width =“ match_parent”和android:layout_height =“ match_parent”,即它占据了移动屏幕的整个宽度和高度。
另请注意,填充适用于所有面,
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
现在让我们添加一个子视图LinearLayout并设置其layout_width =“ match_parent”和layout_height =“ match_parent”,图形视图将显示如下内容,
match_parent_example
码
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.code2care.android.togglebuttonexample.MainActivity" >
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="11dp"
android:background="#FFFFEE"
android:orientation="vertical" >
2. fill_parent:
这与match_parent相同,fill_parent在API级别8中已贬值。因此,如果您使用的是API级别8或更高级别,则必须避免使用fill_parent
让我们按照与match_parent相同的步骤进行操作,只不过在所有地方都使用fill_parent。
您会看到fill_parent和match parent的行为没有差异。