android 自定义控件 MeasureSpec.getMode

android 自定义控件 MeasureSpec.getModeMeasureSpec 对象包含一个 size 和一个 mode 其中 mode 可以取以下三个数值之一 UNSPECIFIED 0x 未加规定的 表示没有给子 view 添加任何规定 EXACTLY 0 0x0 精确的 表示父 view 为子 view 确定精确的尺寸 fill parentAT MOST 0x

MeasureSpec对象包含一个size和一个mode,其中mode可以取以下三个数值之一:

  • UNSPECIFIED, [0x],未加规定的,表示没有给子view添加任何规定。
  • EXACTLY,0 [0x0],精确的,表示父view为子view确定精确的尺寸。fill_parent
  • AT_MOST,- [0x],子view可以在指定的尺寸内尽量大。wrap_content

设置width或height为fill_parent时,容器在布局时调用子view的measure方法传入的模式是EXACTLY,因为子view会占据剩余容器的空间,所以它大小是确定的。而当设置为wrap_content时,容器传进去的是AT_MOST, 表示子view的大小最多是多少,这样子view会根据这个上限来设置自己的尺寸。当子view的大小设置为精确值时,容器传入的是EXACTLY, 而MeasureSpec的UNSPECIFIED模式目前还没有发现在什么情况下使用。

onLayout(boolean, int, int, int, int)

在view给其孩子设置尺寸和位置时被调用

onMeasure()和onLayout()
1. onMeasure
a. 属于View的方法,用来测量自己和内容的来确定宽度和高度
b. view的measure方法体中会调用onMeasure

2. onLayout
a. 属于ViewGroup的方法,用来为当前ViewGroup的子元素的位置和大小
b. View的layout方法体中会调用onLayout

3.onMeasure在onLayout之前调用
4. 设置background后,会重新调用onMeasure和onLayout









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209646.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:45
下一篇 2026年3月19日 上午8:45


相关推荐

  • 即梦ai如何制作表情包 即梦ai动态贴图生成步骤

    即梦ai如何制作表情包 即梦ai动态贴图生成步骤

    2026年3月12日
    3
  • request中的方法_requests发送get请求

    request中的方法_requests发送get请求request.getRealPath不推荐使用request.getRealPath(“”)这个方法已经不推荐使用了,那代替它的是什么方法Deprecated.AsofVersion2.1oftheJavaServletAPI,useServletContext.getRealPath(java.lang.String)instead.request.getSess

    2025年11月22日
    4
  • usb转485驱动

    usb转485驱动usb转485驱动是官方提供的一款USB驱动,本站收集提供高速下载,用于解决USB接口不能正常识别,无法正常使用的问题,本动适用于:WindowsXP/Windows7/Windows8/Windows1032/64位操作系统。有需要的朋友可以来本站下载安装。usb转485驱动http://www.equdong.net/qtrj/usbdrv/16155.html…

    2022年4月30日
    64
  • rc522 nfc_基于单片机的门禁系统

    rc522 nfc_基于单片机的门禁系统文章目录1.前言(包括一些个人理解)1.前言(包括一些个人理解)(2021/11/1编辑)在项目需要做一个NFC门禁功能的时候,突然发现有个RC522丢在我的桌面,甚至不知道它上面的引脚什么意思(还不会SPI通讯),搜索关键词“RC522”去看博客搜索资料,发现了很多都在说扇区,块,S50(M1)卡,然后就给代码,一开始我还以为S50是内嵌在这个模块里面的一个存储器,然后越看越怪,后面去淘宝搜索S50,才发现S50其实是我们的门禁卡,RC522是用来感应和判断的。…

    2025年12月5日
    7
  • Spring AI与DeepSeek集成指南:从基础到实战的全流程教程

    Spring AI与DeepSeek集成指南:从基础到实战的全流程教程

    2026年3月16日
    1
  • android 悬浮窗实现(Android可拖动悬浮窗实现)

    *本篇文章已授权微信公众号guolin_blog(郭霖)独家发布现在很多应用都使用到悬浮窗,例如微信在视频的时候,点击Home键,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。那么今天我们就来实现一下Android悬浮窗,以及探索一下实现悬浮窗时的易错点。

    2022年4月17日
    382

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号