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

Android 基础知识4-2.5View与VIewGroup的概念、关系与区别

1.概念:

Android里的图形界面都是由View和ViewGroup以及他们的子类构成的:

View:所有可视化控件的父类,提供组件描绘和时间处理方法

ViewGroup: View类的子类,可以拥有子控件,可以看作是容器

        Android UI中的控件都是按照这种层次树的结构堆叠得,而创建UI布局的方式有两种,自己在Java里写代码或者通过XML定义布局,后者显得更加方便和容易理解!也是我们最常用的手段!另外我们一般很少直接用View和ViewGroup来写布局,即是自定义布局。更多的时候使用它们的子类控件或容器来构建布局!

2.关系:

        View是Android所有控件的基类,我们平常使用的布局控件LinearLayout,它就是继承自ViewGroupViewGroup可以理解为View的组合,它可以包含很多View以及ViewGroup

如下图UI布局的层次结构:

在这里插入图片描述

需要注意的是ViewGroup也继承自ViewViewGroup派生了很多中布局控件子类,比如LinearLayout、RelativeLayout等。

View派生出的直接子类:
ImageView,TextView,ViewGroup等
View派生出的间接子类:
Button,CheckBox,CheckedTextView等
ViewGroup派生出的直接子类:
AbsoluteLayout,FrameLayout,LinearLayout,RelativeLayout等
ViewGroup派生出的间接子类:
ListView,GridView等

 3.区别:

        View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。

看下图:

        简单来说,View是指某些具体的控件,如TextView、ImageView等,ViewGroup是用来盛放这些控件的容器,如LinearLayout、RelativeLayout等。

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

相关文章:

  • 【ESP 保姆级教程】玩转巴法云篇① ——初识巴法云
  • Python学习-----模块3.0(正则表达式-->re模块)
  • JSP中http与内置对象学习笔记
  • Windows Server 2016远程桌面配置全过程
  • SPI通讯简介
  • Python 迭代器
  • Python语言零基础入门教程(二十七)
  • Redis基础操作以及数据类型
  • 自抗扰控制ADRC之反馈控制律(NLSEF)
  • “生成音乐“ 【循环神经网络】
  • 能否手写vue3响应式原理-面试进阶
  • 前端工程师leetcode算法面试必备-简单的二叉树
  • 【什么程度叫熟悉linux系统】
  • 编译安装MySQL
  • Kubernetes一 Kubernetes之入门
  • SQLServer2000 断电后数据库suspect“置疑”处理
  • 多模态机器学习入门Tutorial on MultiModal Machine Learning——第一堂课个人学习内容
  • Java ~ Collection/Executor ~ LinkedBlockingDeque【总结】
  • .NET7的AOT的使用
  • 分布式缓存的问题
  • golang入门笔记——内存管理和编译器优化
  • GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二
  • 股票投资新出发之知识体系构建导论
  • 蓝桥杯算法训练合集 十六 1.首字母变大写2.盾神计科导作业3.Cinema4.接水问题
  • 密码的世界
  • 如何用一句话感动测试工程师?产品和技术都这么说!
  • 3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.1传感器和变送器|课堂笔记|ppt
  • MySQL中使用索引优化
  • Linux C/C++ 多线程TCP/UDP服务器 (监控系统状态)
  • 【JavaScript】JavaScript基本使用方法