首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

onMeasure在Android6的HorizontalScrollView中返回widthMeasureSpec =0

在Android开发中,onMeasure()是View类中的一个方法,用于测量View的大小。在HorizontalScrollView中,onMeasure()方法用于测量水平滚动视图的宽度。

当调用HorizontalScrollView的onMeasure()方法时,会触发其子View的onMeasure()方法。在子View的onMeasure()方法中,会调用setMeasuredDimension()方法来设置View的测量宽度和高度。

在Android 6及以上版本的HorizontalScrollView中,当子View的onMeasure()方法返回widthMeasureSpec = 0时,意味着子View的宽度测量规格为未指定。这种情况下,HorizontalScrollView会根据子View的实际宽度来确定自身的宽度。

具体来说,当子View的宽度测量规格为未指定时,HorizontalScrollView会遍历所有子View,获取它们的测量宽度,并将最大的宽度作为HorizontalScrollView的宽度。这样可以确保所有子View都能在水平方向上完全显示。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android 自定义gallerey并实现预览功能

自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery效果。...的确HorizontalScrollView可以实现Gallery效果,但是HorizontalScrollView存在一个很大问题,如果你仅是用来展示少量图片,应该是没问题,但是如果我希望HorizontalScrollView...本篇博客首先介绍HorizontalScrollView简单用法,然后会在此基础上进行扩展,自定义HorizontalScrollView实现我们上面提到效果,类似一屏可以显示多个ViewViewPager...自定义HorizontalScrollView 思想: 1、首先根据屏幕大小和Item大小,计算可以一个屏幕最多可以加载多少个Item,然后加载该数量Item。...(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec

85950

Android自定义View 仿QQ侧滑菜单实现代码

-首先这里使用了 Android HorizontalScrollView 水平滑动布局作为容器,当然我们需要继承它自定义一个侧滑视图 – 这个容器里面有一个父布局(一般用LinerLayout,本demo...用是),这个父布局里面有且只有两个子控件(布局),初始状态菜单页位置Y轴上存在偏移这样可以就可以形成主页叠在菜单页上方视觉效果;然后滑动过程程 逐渐修正偏移,最后菜单页和主页并排排列。...--android:tag="0" / -- </fierce_luk.com.sideslipviewdemo2.SideslipView 自定义侧滑视图 最核心部分 public class...// LinearLayout layout = (LinearLayout) this.getChildAt(0); /**此处因为 把侧边拉出页面设置了右边 所有用 FrameLayout...* 不然设置偏移量时 隐藏侧边菜单会跑到主页面的上面*/ FrameLayout layout = (FrameLayout) this.getChildAt(0); home = layout.getChildAt

81720

qq侧滑

我们菜单出现整个过程,不断记录菜单显示宽度与其总宽度比值,是个从0到1过程,然后把0~1转化为1~0.7(假设内容区域缩小至0.7);不断去缩小内容区域; 对于区别3:也比较好办,上面已经可以得到...其实也比较简单,菜单出现过程,不断设置菜单x方向偏移量;0时候完全隐藏,0.3时候,隐藏x方向偏移量为0.7个宽度,类推~~~ 好了,分析完毕,那么对于这些动画用什么实现最好呢?...;       }   @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)       ...不用说,我用大腿想一想都应该是ACTION_MOVE,是的,ACTION_MOVE的确可以,不断获取当前getScrollX / mMenuWidth,不断改变菜单透明度,缩放,X方向偏移量...;   与菜单宽度做除法运算,菜单隐藏到显示整个过程,会得到1.0~0.0这么个变化区间; 有了这个区间,就可以根据这个区间设置动画了; 1、首先是内容区域缩放比例计算: 我们准备让菜单出现过程

2K60

Android技能树 — View小结

其实奥秘就在我们平时重写onMeasure()方法: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec...最后返回max(mMinWidth, mBackground.getMinimumWidth())二者最大值。...如果是specMode是UNSPECIFIED,则返回我们1方法getSuggestedMinimumWidth获取到值,如果是AT_MOST和EXACTLY,则直接返回specSize。...(View源码这里宽度创建规则和我们前面讲测量规则区别就在于,当specMode是UNSPECIFIED时候,返回是getSuggestedMinimumWidth值,而我们是返回0。)...ViewGroup测量 讲ViewGroup测量前面,我要提问个问题,大家应该知道了某个ViewMeasureSpeconMeasure()方法参数里面传进来。我们是直接拿来用了。

78520

安卓 View 工作流程

简单地理解,其实getDefaultSize返回大小就是measureSpecspecSize,而这个specSize就是View测量后大小,这里多次提到测量后大小,是因为View最终大小是...,否则就返回0。...这里再总结一下getSuggestedMinimumWidth逻辑:如果View没有设置背景,那么返回android:minWidth这个属性所指定值,这个值可以为0;如果View设置了背景,则返回...android:minWidth和背景最小宽度这两者最大值,getSuggestedMinimumWidth和getSuggestedMinimumHeight返回值就是ViewUNSPECIFIED...需要注意是,某些极端情况下,系统可能需要多次measure才能确定最终测量宽/高,在这种情形下,onMeasure方法拿到测量宽/高很可能是不准确

41120

Carson带你学Android:手把手带你深入学习自定义View Measure过程

原理measure过程,我能保证这是市面上最全面、最清晰、最易懂 目录 1....作用 测量View宽 / 高 某些情况下,需要多次测量(measure)才能确定View最终宽/高; 该情况下,measure过程后得到宽 / 高可能不准确; 此处建议:layout过程onLayout...默认Style // 且只有明确调用时候才会生效, } public DIY_View(Context context,AttributeSet attrs,int defStyleAttr...protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // 根据不同布局属性进行不同计算...getChildrenSkipCount()返回值恒为0 // 注:若view可见属性设置为VIEW.INVISIBLE,还是会计算该view大小 if (child.getVisibility

28310

Android6.0源码分析之View(二)--measure Android6.0源码分析之View(一)

Chapter Two,onMeasure方法简介 1>,onMeasure方法用于测量view以及其内容宽高,得到一组宽和高值measurewidth/heigh,调用measure方法时会调用...(笔者注:也就是说要么调用父类onMesure方法,要么自己手动子viewonMesure方法调用setMearsuredDimension方法,否则会抛出异常) 3>,如果在测量规范没有规定更大值那么基类测量值默认是...最小宽度和背景最小宽度两个值取最大值返回 方法参数: mMinWidth:view最小宽度 getMinimumWidth():drawable最小宽度 也就是说,该方法会返回一个系统所建议...如果测量规范没有对子view大小进行限制的话,子view大小使用该返回值。也有可能返回更大值。...方法总结: 也就是说,该方法返回了view默认大小值,这个值跟父view对子view是否进行了限制有关, 如果父view对子view没进行限制,则返回所建议view大小, 若进行了限制,则返回测量规范对象

75090

Android6.0源码分析之View(二)--measure

Chapter Two,onMeasure方法简介 1>,onMeasure方法用于测量view以及其内容宽高,得到一组宽和高值measurewidth/heigh,调用measure方法时会调用...(笔者注:也就是说要么调用父类onMesure方法,要么自己手动子viewonMesure方法调用setMearsuredDimension方法,否则会抛出异常) 3>,如果在测量规范没有规定更大值那么基类测量值默认是...最小宽度和背景最小宽度两个值取最大值返回 方法参数: mMinWidth:view最小宽度 getMinimumWidth():drawable最小宽度 也就是说,该方法会返回一个系统所建议...如果测量规范没有对子view大小进行限制的话,子view大小使用该返回值。也有可能返回更大值。...方法总结: 也就是说,该方法返回了view默认大小值,这个值跟父view对子view是否进行了限制有关, 如果父view对子view没进行限制,则返回所建议view大小, 若进行了限制,则返回测量规范对象

39720
领券