我对两个XML属性有点困惑: match_parentfill_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_PARENTLayoutParams.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_parentfill_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属性中将布局widthheight设置为match_parent时,它将占用父视图所具有的完整区域,即它将与父视图一样大。

<LinearLayoutandroid:layout_width="300dp"android:layout_height="300dp"android:background="#f9b0b0"><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#b0f9dc"/></LinearLayout>

野兔父母是红色的,孩子是绿色的。 孩子占据了所有地区。 因为它的widthheightmatch_parent

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

<LinearLayoutandroid:layout_width="300dp"android:layout_height="300dp"android:background="#f9b0b0"android:paddingTop="20dp"android:paddingBottom="10dp"><TextViewandroid: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_parentmatch_parent先前名称

对于API级别8及更高版本, fill_parent重命名为match_parent ,现在不推荐使用fill_parent

所以fill_parentmatch_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_PARENTMATCH_PARENTFILL_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有什么区别?相关推荐

  1. match_parent和fill_parent的区别

    有网友表示对于很多工程中的MATCH_PARENT出现在layout中感到不明白,过去只有FILL_PARENT和WRAP_CONTENT那么match_parent到底是什么类型呢? 其实从Andr ...

  2. 布局文件中fill_parent、match_parent和wrap_content有什么区别?

    fill_parent 宽度或者高度 布满整个屏幕从Android 2.2开始fill_parent改名为match_parent.wrap_content布局元素将根据内容更改大小.

  3. android dimensions.xml,android – Value等于match_parent或fill_parent在dimensions.xml?

    基于 here on XML Attributes部分我在我的dimensions.xml中指定以下: -1dp @dimen/match_parent @dimen/match_parent 然后我 ...

  4. Android fill_parent、wrap_content和match_parent的区别

     三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便. 1)fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展, ...

  5. Android 开发之 fill_parent、wrap_content和match_parent的区别

    2019独角兽企业重金招聘Python工程师标准>>> 三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便. 1)fill_par ...

  6. android 学习笔记 fill_parent、wrap_content和match_parent的区别

    三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便. 1)fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展,以 ...

  7. Android中measure过程、WRAP_CONTENT详解以及 xml布局文件解析流程浅析

    转自:http://www.uml.org.cn/mobiledev/201211221.asp 今天,我着重讲解下如下三个内容: measure过程 WRAP_CONTENT.MATCH_PAREN ...

  8. Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)

    在之前一篇博文中<< Android中View绘制流程以及invalidate()等相关方法分析>> ,简单的阐述 了 Android View 绘制流程的三个步骤,即: 1. ...

  9. 《Android学习指南》目录

    转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先 ...

最新文章

  1. 什么是python-三分钟了解什么是Python?python环境搭建
  2. style=@android:style/buttonbar,Setting style=?android:attr/buttonBarStyle to parent layout and s...
  3. Oracle EBS数据定义移植工具:FNDLOAD
  4. 开源 serverless 产品原理剖析 - Kubeless 1
  5. 二叉树链式结构实现C语言
  6. securecrt上传下载文件命令
  7. sql语句mysql_MySQL基本的Sql语句
  8. *SQL Server系统表的应用
  9. 论财务自由与【生活-工作】平衡
  10. python源码剖析类机制_python源码剖析
  11. jquery实现多选框
  12. Mybatis使用order by语句
  13. 原生JS判断两个元素是否为兄弟节点
  14. 【gloomyfish】数据分析之 – 离群值(Outliers) BoxPlot
  15. WebKit 打电话失败的问题
  16. RTKLIB学习总结(六)导航电文、卫星位置计算
  17. 微信小程序服务器该如何选择
  18. 行稳致远,进而有为——2020年 XAG发展展望
  19. 静态编译出错的解决办法 undefined reference to `clock_gett...
  20. OS WDM OPM OSW 知识总结

热门文章

  1. 关于如何在Listener中注入service和ServletContextListener源码分析
  2. Jmeter 2.6下载安装
  3. Linux学习之sed编辑器
  4. .inc文件是什么文件?
  5. 一次外网打不开网站的故障总结
  6. 删除顽固node_modules
  7. 数据结构与算法小结——排序(八)
  8. 爬虫----Scrapy框架
  9. python == 字符编码
  10. Android(java)学习笔记155:中文乱码的问题处理(qq登录案例)