当前位置: 首页 > news >正文

自定义控件的子控件布局(onLayout()方法)

onLayout()方法用于指定布局中子控件的位置,该方法通常在自定义的ViewGroup容器中重写。

重写onLayout()方法中的常用方法:

getChildCount()  获取子控件数量

getChildAt( int index )  获取指定index的子控件,返回View

view.getVisibility()  获取控件存在状态,GONETRUEFALSE

view.getMeasuredHeight()  获取控件高度px

view.getMeasuredWidth()  获取控件宽度px

view.layout( int l , int t , int r , int b  设置控件四周边界与父容器左和上距离,左与父左,上与父上,右与父左,下与父上。

//例
protected void onLayout(boolean changed, int l, int t, int r, int b) {for (int i=0;i< getChildCount() ;i++){View view= getChildAt(i) ;if( view.getVisibility() !=GONE){int width= view.getMeasuredWidth() ;int height= view.getMeasuredHeight();//重设子控件布局位置view.layout(~,~,~,~);}}
}

在其他方法中使用requestLayout()会再次调用onLayout()重定义布局。

http://www.lryc.cn/news/211273.html

相关文章:

  • vscode提取扩展出错xhr
  • Docker 笔记(上篇)
  • python自动化测试(六):唯品会商品搜索-练习
  • 深度强化学习用于博弈类游戏-基础测试与说明【1】
  • 通过requests库使用HTTP编写的爬虫程序
  • 550MW发电机变压器组继电保护的整定计算及仿真
  • Linux 命令|服务器相关
  • node 第十三天 express初见
  • Python selenium模块简介
  • DIY相机(一)libcamera库
  • PHP简单实现预定义钩子和自定义钩子
  • 笔记本电脑的摄像头找不到黑屏解决办法
  • 【Git】HEAD detached from xxx 问题及解决方案
  • Cannot connect to the Docker
  • 校园物业报修小程序开发笔记一
  • 用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
  • FFmpeg5.1.3编译动态库踩坑之旅(基于Linux虚拟机)
  • 【语义分割】语义分割概念及算法介绍
  • 基于RK3568高性价比全国产EMS储能解决方案(一)概述
  • 3 Go的基础语法
  • Redis之Lua脚本讲解
  • redis archive github
  • 3台Centos7快速部署Kafka集群
  • 最小栈(C++解法)
  • Python 算法高级篇:堆排序的优化与应用
  • 视频下载软件 Downie4 mac中文介绍
  • 计算机操作系统重点概念整理-第一章 计算机系统概述【期末复习|考研复习】
  • 树莓派基金会近日发布了新版基于 Debian 的树莓派操作系统
  • Web项目如何做单元测试
  • MySQL主从复制(基于GTID--事务ID方式)