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

更改LayoutParams后getLocationInWindow未更改

是因为LayoutParams只是用来描述View在布局中的位置和大小的参数,并不会直接影响View在窗口中的位置。而getLocationInWindow方法是用来获取View在窗口中的坐标位置的方法。

当我们更改LayoutParams后,需要调用View的requestLayout方法来触发重新布局,使得LayoutParams的改变生效。在重新布局完成后,再调用getLocationInWindow方法才能获取到更新后的坐标位置。

另外,需要注意的是,getLocationInWindow方法返回的是View在窗口中的绝对坐标位置,而不是相对于父容器的坐标位置。如果需要获取相对于父容器的坐标位置,可以使用getLocationOnScreen方法。

对于这个问题,可以尝试以下步骤来解决:

  1. 确保在更改LayoutParams后,调用了View的requestLayout方法,触发重新布局。
  2. 在重新布局完成后,再调用getLocationInWindow方法来获取更新后的坐标位置。
  3. 如果仍然无法获取到更新后的坐标位置,可以尝试使用其他方法来获取View的位置信息,比如getLeft和getTop方法。

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

  • 云服务器(ECS):提供弹性计算能力,满足各类业务需求。详情请参考:https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。详情请参考:https://cloud.tencent.com/product/cdb
  • 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,支持图像识别、语音识别、自然语言处理等应用场景。详情请参考:https://cloud.tencent.com/product/ai
  • 物联网套件(IoT Hub):提供物联网设备接入、数据采集、设备管理等功能,帮助构建物联网应用。详情请参考:https://cloud.tencent.com/product/iothub
  • 移动推送(信鸽):提供消息推送服务,支持多种推送方式和个性化推送策略。详情请参考:https://cloud.tencent.com/product/tpns
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券