×

wrapcontent和match parent意思

wrapcontent和match parent意思(android中fill_parent 是什么意思)

admin admin 发表于2024-05-18 02:58:57 浏览21 评论0

抢沙发发表评论

本篇文章给大家谈谈wrapcontent和match parent意思,以及android中fill_parent 是什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

android中fill_parent 是什么意思

用于android:layout_width 或者android:layout_height ,android:layout_width ="fill_parent"指的是当前视图宽度布满父视图所占宽度。

Android Studio的LinearLayout的父容器是什么

match_parent是Android提供的设置控件宽度的一个值,从字面意思是“跟父类同宽”,简单点理解就是,与包裹这个LinearLayout的控件一样的宽度。不用纠结它的父容器是什么,这边的“父容器”只是一个统称,布局时,这个LinearLayout外层包裹的是什么控件,那么这个控件就是它的父容器。

Android 自定义View:为什么你设置的wrap_content不起作用

在使用自定义View时,View宽 / 高的 wrap_content 属性不起自身应有的作用,而且是起到与 match_parent 相同作用。

其实这里有两个问题:

请分析 & 解决问题之前,请先看自定义View原理中 (2)自定义View Measure过程 - 最易懂的自定义View原理系列

问题出现在View的宽 / 高设置,那我们直接来看自定义View绘制中第一步对View宽 / 高设置的过程:measure过程中的 onMeasure() 方法

继续往下看 getDefaultSize()

从上面发现:

那么有人会问:wrap_content和match_parent具有相同的效果,为什么是填充父容器的效果呢?

我们知道,子View的MeasureSpec值是根据子View的布局参数(LayoutParams)和父容器的MeasureSpec值计算得来,具体计算逻辑封装在getChildMeasureSpec()里。

接下来,我们看生成子View MeasureSpec的方法: getChildMeasureSpec() 的源码分析:

getChildMeasureSpec()

从上面可以看出,当子View的布局参数使用 match_parent 或 wrap_content 时:

所以: wrap_content 起到了和 match_parent 相同的作用:等于父容器当前剩余空间大小

当自定义View的布局参数设置成wrap_content时时,指定一个默认大小(宽 / 高)。

这样,当你的自定义View的宽 / 高设置成wrap_content属性时就会生效了。

网上流传着这么一个解决方案:

答: 是,当父View为 AT_MOST 、View为 match_parent 时,该View的 match_parent 的效果就等于 wrap_content 。上述方法存在逻辑错误,但由于这种情况非常特殊的,所以导致最终的结果没有错误。具体分析请看下面例子:

从上面的效果可以看出,View大小 = 默认值

我再将子View的属性改为 wrap_content :

从上面的效果可以看出,View大小还是等于默认值。

相信看到这里你已经看懂了:

为了更好的表示判断逻辑,我建议你们用本文提供的解决方案,即根据布局参数判断默认值的设置

不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度

Android中的wrap_content是什么意思

WRAP_CONTENT、MATCH_PARENT/FILL_PARENT属性的原理说明① fill_parent 设置一个视图的布局为fill_parent将强制性地使视图扩展至父元素大小。 ② match_parent Android 中match_parent和fill_parent意思一样,但match_parent更贴切,于是从2.2开始两个词都可以 用,但2.3版本后建议使用match_parent。 ③ wrap_content 自适应大小,强制性地使视图扩展以便显示其全部内容。以TextView和ImageView控件为例,设置为 wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。***隐藏网址***

关于本次wrapcontent和match parent意思和android中fill_parent 是什么意思的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。