ViewGroup概述
研究ViewGroup之前,我们先来看看ViewGroup的介绍:
/** * A ViewGroup is a special view that can contain other views * (called children.) The view group is the base class for layouts and views * containers. This class also defines the * android.view.ViewGroup.LayoutParams class which serves as the base * class for layouts parameters. |
一个ViewGroup是一个可以包含其他view的特别的View,ViewGroup是各个Layout和View组件的基类,这个类还定义了LayoutParams类来指定这个基类的布局参数。 |
Android关于ViewGroup的解释还是比较清楚的,通过这个我们可以看出几点:
1、ViewGroup是一个容器,而这个容器是继承与View的。
2、ViewGroup是一个基类,并且是Layout和一些View组件的基类。
等等,不一而足,眼界有多高相信看到的就有多远,呵呵。
二、ViewGroup的三个方法
在继承ViewGroup时有三个重要的方法,下面我们就来看看:
1、onLayout****方法
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
}
在我们继承ViewGroup时会在除了构造函数之外提供这个方法,我们可以看到,在ViewGroup的源代码中方法是这样定义的,也就是父类没有提供方法的内容,需要我们自己实现。
这个是我们布局的时候用的,待会我们就会使用到这个。
2、addView****方法
public void addView(View child) {
addView(child, -1);
}
这个方法是用来想View容器中添加组件用的。我们可以使用这个方法想这个ViewGroup中添加组件。
3、getChildAt****方法
public View getChildAt(int index) {
try {
return mChildren[index];
} catch (IndexOutOfBoundsException ex) {
return null;
}
}
这个方法用来返回指定位置的View。
注意:ViewGroup中的View是从0开始计数的。
**可以说我们自定义ViewGroup时这三个方法是至关重要的
以下全部内容都可以扫码免费获取!
Android进阶学习全套手册
Android对标阿里P7学习视频
BATJ大厂Android高频面试题
最后,借用我最喜欢的乔布斯语录,作为本文的结尾:
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
ViewGroup概述相关推荐
- 继承ViewGroup研究(汇总) 一、二、三
转载过来:为一.二.三版本. 仅供参考: 继承ViewGroup研究(1) --简介和一个小Demo 又翻开一个新篇章了,哈哈,上一回学习的是继承View,关于继承View个人感觉不是那么完美,做技术 ...
- 继承ViewGroup研究(2)--在XML中使用ViewGroup初探
这次研究的是XML中布局自定义ViewGroup,为什么要在XML中自定义ViewGroup,呵呵,其实这个东西吧,还真没法说,我个人的感觉是可以方便的使用Android中已经给出的各种组件,还有自己 ...
- android 自定义图片容器,Android应用开发中自定义ViewGroup视图容器的教程
一.概述在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥?ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性, ...
- Android ImageLoader(Android-Universal-Image-Loader)【1】概述及使用简单介绍
Android ImageLoader(Android-Universal-Image-Loader)[1]概述及使用简单介绍 一,前言:为什么要引入Android-Universal-Imag ...
- Android 手把手教您自定义ViewGroup
最近由于工作的变动,导致的博客的更新计划有点被打乱,希望可以尽快脉动回来~ 今天给大家带来一篇自定义ViewGroup的教程,说白了,就是教大家如何自定义ViewGroup,如果你对自定义ViewGr ...
- Android(四)——View和ViewGroup
文章目录 1. 用户界面概述 2. View类常用属性 3. ViewGroup类 4. UI组件的层次结构 1. 用户界面概述 在Android APP中,所有的用户界面元素都是由View和View ...
- Property Animator 属性动画概述与示例
Property Animation 属性动画 属性动画是一个强大的框架,它几乎可以让你的所有东西做动画,你可以随着时间的推移通过更改他们的属性来定义动画,无论它是否绘制在屏幕上,一个属性动画是在指定 ...
- Android之自定义ViewGroup
概述 在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥? ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性, ...
- android activity详解一:概述
概述 Activities 是一个程序的组件之一.它的主要功能是提供界面. 一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联.必须有一个activi ...
最新文章
- 移动端丨-webkit-overflow-scrolling:touch属性导致页面卡住
- KDD2021最佳论文奖揭晓!胡侠获新星奖,论文接收率仅15%
- 将远程服务器获取的linkedhashMap对象转为实体类对象
- ue4 改变枢轴位置_UE4渲染模块概述(四)---反射
- 【学亮IT手记】枚举类入门实例讲解
- dynamic web module 2.5与2.4
- 设置eclipse新建maven项目默认使用jdk1.8
- 【题解】Luogu P2157 [SDOI2009]学校食堂
- Linux虚拟机出现卡死且无法结束进程的解决办法
- Tbase 源码 (二)
- 阿里云服务器ftp连接后21端口无法使用的问题
- smith预估 matlab,毕业论文】大滞后系统Smith预估器的控制仿真
- 30道你不得不会的Elasticsearch面试题【附答案解析】
- css设置四个字三个字两个字和word一样对齐的打印格式
- 卷积满足交换律:F*G(x)=G*F(x)
- 【Java定时任务】浅谈CronTrigger的用法和在线Cron表达式生成网址
- python在bim中的应用_BIM在智慧桥梁中的应用
- 建立一个GTalk连接和启动一个IM会话
- 计算机和应用物理学,专业篇丨应用物理学:仰望星空还是脚踏实地?
- 封装类:即8种基本类型对应8种封装类