我对两个XML财产有点困惑:match_parent和fill_parent。看起来两者都是一样的。它们之间有什么区别吗?
当前回答
只是为了给它一个更接近实际行动的名字。“fill_parent”不会像名称所暗示的那样填充剩余空间(为此,您使用权重属性)。相反,它占用的空间与其布局父级一样多。这就是为什么新名称是“match_parent”
其他回答
它们是一样的(在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常量!
match_parent,这意味着视图希望与其父视图一样大(减去填充)。
wrap_content,这意味着视图要足够大,以包围其内容(加上填充)
为了更好地说明,我创建了一个演示此概念的示例布局。为了看到效果,我为每个textView内容添加了边框。
在“匹配父项”文本视图内容中,我们可以看到它的布局宽度超出其父项的整个长度。
但我们可以在“包装内容”文本视图内容中看到,它是内容(包装内容)长度的包装宽度。
match_parent用于代替fillprent,并将其设置为尽可能接近父级。只需使用match_parent,而忽略fill_paint。我彻底抛弃了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替换。
有关详细信息,请访问此页面
推荐文章
- 何时在Android中使用RxJava,何时使用Android架构组件中的LiveData ?
- 如何在Android项目中使用ThreeTenABP
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 我的Android设备没有出现在adb设备列表中
- 在没有安装apk的情况下获取Android .apk文件的VersionName或VersionCode
- Fragment onResume() & onPause()不会在backstack上被调用
- 如何设置基线对齐为假提高性能在线性布局?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何改变TextInputLayout的浮动标签颜色
- Android工作室如何运行gradle同步手动?
- 如何以编程方式在我的EditText上设置焦点(并显示键盘)
- 如果在片段和活动中同时定义,则不会在片段中调用onRequestPermissionsResult
- 方法setDrawerListener已弃用