Android Studio之View和ViewGroup

复制代码
View是Android的基本视图,所有控件和布局都是由View类直接或间接派生而来的。故而View类的基
本属性和方法是各控件和布局通用的。
下面是视图在XML布局文件中常用的属性定义说明:

id:指定该视图的编号。
layout_width:指定该视图的宽度。可以是具体的dp数值;可以是match_parent,表示与上级视图一样
宽;也可以是wrap_content,表示与内部内容一样宽(内部内容若超过上级视图的宽度,则该视图保
持与上级视图一样宽,超出宽度的内容得进行滚动才能显示出来)。
layout_height:指定该视图的高度。取值说明同layout_width。
layout_margin:指定该视图与周围视图之间的空白距离(包括上、下、左、右)。另有
layout_marginTop、layout_marginBottom、layout_marginLeft、layout_marginRight分别表示单独指定
视图与上边、下边、左边、右边视图的距离。
minWidth:指定该视图的最小宽度。
minHeight:指定该视图的最小高度。
background:指定该视图的背景。背景可以是颜色,也可以是图片。
layout_gravity:指定该视图与上级视图的对齐方式。对齐方式的取值说明如下,若同时适用多种对齐方式,则可使用竖线“|”把多种对齐方式拼接起来:
    left LEFT 靠左对齐
    right RIGHT 靠右对齐
    top TOP 向上对齐
    bottom BOTTOM 向下对齐
    center CENTER 居中对齐
    center_horizontal CENTER_HORIZONTAL 水平方向居中
    center_vertical CENTER_VERTICAL 垂直方向居中
padding:指定该视图边缘与内部内容之间的空白距离。另有paddingTop、paddingBottom、paddingLeft、paddingRight分别表示指定视图边缘与内容上边、下边、左边、右边的距离。
visibility:指定该视图的可视类型。可视类型的取值说明如下:
    visible: VISIBLE 可见,默认值
    invisible: INVISIBLE 不可见。虽然看不到但还占着位置
    gone: GONE 消失。不仅看不到而且不占位置了

下面是视图在代码中常用的设置方法说明:
    setLayoutParams:设置该视图的布局参数。参数对象的构造函数可以设置视图的宽度和高度。其中,LayoutParams.MATCH_PARENT表示与上级视图一样宽,也可以是
    LayoutParams.WRAP_CONTENT,表示与内部内容一样宽;参数对象的setMargins方法可以设置该视图与周围视图之间的空白距离。
    setMinimu mWidth:设置该视图的最小宽度。
    setMinimumHeight:设置该视图的最小高度。
    setBackgroundColor:设置该视图的背景颜色。
    setBackgroundDrawable:设置该视图的背景图片。
    setBackgroundResource:设置该视图的背景资源id。
    setPadding:设置该视图边缘与内部内容之间的空白距离。
    setVisibility:设置该视图的可视类型。

视图组ViewGroup是一类特殊视图,所有的布局类视图都是从它派生而来的。
Android中的视图分为两类,一类是布局,另一类是控件。布局与控件的区别在于:
布局本质上是个容器,里面还可以放其他视图(包括子布局和子控件);
控件是一个单一的实体,已经是最后一级,下面不能再挂其他视图。

ViewGroup有3个方法,这3个方法也是所有布局类视图共同拥有的。
    addView:往布局中添加一个视图。
    removeView:从布局中删除指定视图。
    removeAllViews:删除该布局下的所有视图。
相关推荐
jiayong235 分钟前
第 25 课:给学习笔记页加上搜索、标签筛选和 URL 同步
开发语言·前端·javascript·vue.js·学习
UXbot10 分钟前
如何用 AI 快速生成完整的移动端 UI 界面:从描述到交付的实操教程
前端·ui·交互·ai编程·原型模式
南囝coding14 分钟前
零成本打造专业域名邮箱:Cloudflare + Gmail 终极配置保姆级全攻略
前端·后端
jiayong2317 分钟前
第 12 课:`watch` 和防抖到底该怎么用
前端·javascript·vue.js
鹏程十八少26 分钟前
2.2026金三银四 Android Handler 完全指南:28道高频面试题 + 源码解析 + 图解 (一文通关)
android·前端·面试
大连好光景28 分钟前
Fiddler、Wireshark、Charles三种抓包工具的对比
前端·fiddler·wireshark
gyx_这个杀手不太冷静29 分钟前
大人工智能时代下前端界面全新开发模式的思考(五)
前端·架构·ai编程
qiao若huan喜36 分钟前
12、webgl 基本概念 +满天星星眨眼睛
前端·信息可视化·webgl
陆枫Larry37 分钟前
搞懂 package.json 和 package-lock.json
前端
竹林81837 分钟前
Solana前端开发:从连接钱包到发送交易,我如何用@solana/web3.js搞定第一个DApp
前端·javascript