概述
我对两个XML属性有点困惑: match_parent
和fill_parent
。 似乎两者都是一样的。 它们之间有什么区别吗?
#1楼
为了兼容性,最好坚持使用fill_parent,即支持API 8设备以下时。 但是,如果您的应用针对API 8及更高版本,则应使用match_parent。
#2楼
功能上没有区别,Google刚刚从API级别8(Android 2.2)将名称从fill_parent更改为match_parent。 出于兼容性原因,仍然可以使用FILL_PARENT。
LayoutParams.FILL_PARENT
和LayoutParams.MATCH_PARENT
都具有值-1。 不确定是什么诱惑谷歌改变从填充父母到匹配父母:)
由于大多数phones are >= Android 2.2
..您应该使用Match Parent以便将来兼容...不确定何时会停止使用旧的Fill Parent常量!
#3楼
谷歌更改了名称以避免混淆。
旧名称fill parent
问题在于它暗示它影响父级的维度,而match parent
更好地描述了结果行为 - 将维度与父级匹配。
两个常量最终都解析为-1
,因此导致应用程序中的相同行为。 具有讽刺意味的是,这个改变名称的名称似乎增加了混乱而不是消除它。
#4楼
只是给它一个更接近它的实际行动的名称 。 "fill_parent"
不会填充名称暗示的剩余空间(因为您使用了weight属性)。 相反,它占用的空间与布局父级一样多。 这就是为什么新名称是"match_parent"
#5楼
FILL_PARENT
在API级别8中已弃用, MATCH_PARENT
使用更高级别的API
#6楼
match_parent用于代替fill_parent并将其设置为父进程 。 只需使用match_parent并忘记fill_parent 。 我完全放弃了fill_parent ,一切都像往常一样完美。
点击这里查看更多。
#7楼
match_parent
和fill_parent
是相同的属性,用于水平或垂直定义全屏视图的宽度或高度。
这些属性用在像这样的android xml文件中。
android:layout_width="match_parent"
android:layout_height="fill_parent"
要么
android:layout_width="fill_parent"
android:layout_height="match_parent"
fill_parent
用于以前的版本,但现在已被弃用并被match_parent
取代。 我希望它能帮到你。
#8楼
两者都具有相似的功能,唯一的区别是fill_parent用于API级别8,match_parent用于API级别8或更高级别之后。
#9楼
fill_parent:视图应该与其父视图一样大。
现在不推荐使用此内容fill_parent,并替换为match_parent。
#10楼
对我来说, 填充父级和匹配父级只执行相同的功能:
fill parent :在API 8之前使用
匹配父项这是从API 8+使用两者的功能填充父视图旁边的填充
#11楼
match_parent,表示视图要与其父视图一样大(减去填充)。
wrap_content,这意味着视图要足够大以封闭其内容(加上填充)
为了更好地说明,我创建了一个演示此概念的示例布局。 为了看到它的效果,我添加了每个textView内容的边框。
在“匹配父级”textView内容中,我们可以看到它的布局宽度扩展到它的父级全长。
但是我们可以在“Wrap Content”中看到textView内容,它的布局宽度包含在它的内容(Wrap Content)长度中。
#12楼
在XML
属性中将布局width
和height
设置为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>
野兔父母是红色的,孩子是绿色的。 孩子占据了所有地区。 因为它的width
和height
是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 hight = 300dp(父高) - (20(paddingTop)+10(paddingBottom))=(300 - 30)dp = 270 dp
fill_parent与match_parent相对应
fill_parent
是match_parent
先前名称
对于API级别8及更高版本, fill_parent
重命名为match_parent
,现在不推荐使用fill_parent
。
所以fill_parent
和match_parent
是一样的。
fill_parent的API文档
视图应该与其父视图一样大(减去填充)。 从API级别8开始不推荐使用此常量,并将其替换为{@code match_parent}。
#13楼
FILL_PARENT在API等级8及更高版本中重命名为MATCH_PARENT,这意味着视图希望与其父级一样大(减去填充) - Google
#14楼
1. match_parent
当您将布局宽度和高度设置为match_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中的行为没有区别。
#15楼
FILL_PARENT
已从API级别8及更高级别弃用,并且作为MATCH_PARENT
重命名为高级版本
两者都是相同的FILL_PARENT
和MATCH_PARENT
, FILL_PARENT
用于较低版本低于API等级8,MATCH_PATENT用于较高API等级大于8。
FILL_PARENT
(在API级别8及更高级别重命名为MATCH_PARENT
),这意味着视图要与其父级一样大(减去填充)
fill_parent
:视图应该与其父视图一样大(减去填充)。 从API级别8开始不推荐使用此常量,并将其替换为match_parent
。
有关详细信息,请访问此页面
#16楼
它们是相同的(在API级别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
最后
以上就是义气裙子为你收集整理的match_parent和fill_parent有什么区别?的全部内容,希望文章能够帮你解决match_parent和fill_parent有什么区别?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复