Android中UI控件的详细介绍(一)——Android中UI的总体分类即通用属性
来源:互联网 发布:诚信通软件下载 编辑:程序博客网 时间:2024/06/05 21:50
一、View类的常用xml属性
1、android中所有用户可以看到的界面都是一个View视图,而每一个View的子控件又是在ViewGroup中,简单理解:android中的所有UI(用户界面)都是由View和ViewGroup对象建立的。
2、View可以当做是一个“画笔”,它把控件一个个画到屏幕上,也就是把一些信息绘制在屏幕上与用户进行交互。
3、ViewGroup可以当做是一个“画板”,它用于给“画笔”提供绘画场所,即它是一个容器,里面可以存放多个View对象或者ViewGroup对象。
4、android为我们提供了一系列的View和ViewGroup的子类,我们可以灵活的选择使用。
5、因为我们已经知道安卓中所有的控件都是View的子类,所有布局容器都是ViewGroup的子类,那么如果android提供的子控件无法满足我们的需求,那么我们可以选择继承View或者ViewGroup自定义属于我们自己的控件。
二、AndroidUI视图结构
1.视图结构图
我们从上图可以很明显的看出来,所有的控件都是继承与View,所有的Layout(容器/布局)都是继承与ViewGroup,而ViewGroup也是继承与View,所以说android中所有我们可以看到的元素都是一个View。
2、View及其子元素常用属性:(所有子控件都有的属性)
- android : id 为该控件定义一个id,同一个布局中不可以有相同id
- android : background 为控件设置背景色或者背景图片
- android : onClick 为控件的单击事件绑定监听器
- android : padding 设置控件的内间距,即内容与控件边界的距离
- android : layout_margin 设置控件的外边距,即该控件与其他控件的距离
- android : visibility 设置该控件是否可见
- android : alpha 设置该控件的透明度
- android : layout_height 该控件在布局中的高度
- android : layout_width该控件在布局中的宽度
- android : height 该控件的高度
- android : width 该控件的宽度
三、android中UI布局的嵌套
虽然Android为我们提供了很多种布局格式,但是在实际开发中,单一的布局往往达不到我们的要求,这时候我们通常使用嵌套布局。即在一个布局中嵌套另外一个布局,有点类似于Java中多维数组的感觉。虽然从理论上来说,我们可以无限嵌套下去,但是在实际开发中,这种嵌套最好不要超过10层,否则会大大降低程序的运行效果。
上图为3层嵌套
- Android中UI控件的详细介绍(一)——Android中UI的总体分类即通用属性
- Android中UI控件的详细介绍(二)—— 非布局控件总览
- Android中UI控件的详细介绍(三)——TextView
- Android中UI控件的详细介绍(五)——Button
- Android中UI控件的详细介绍(六)——ImageView
- Android中UI控件的详细介绍(七)——ImageButton
- Android中UI控件的详细介绍(八)——Android事件处理机制的概述
- Android中UI控件的详细介绍(八)——Android事件处理机制的概述
- Android(UI)布局(文件)控件标签的通用属性
- Andorid中UI控件的详细介绍(四)——EditText
- Android UI组件的三个通用属性
- Android中常用的UI控件
- Android中常用的UI控件
- Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
- Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
- android UI 自定义View 的详细介绍
- Android中UI组件android:layout_gravity属性的使用
- UI控件笔记(一):UI之UIView的属性
- ORACLE RAC安装过程碰到问题处理汇总
- C#.net免客户端访问Oracle数据库
- hive SQL优化之distribute by和sort by
- k近邻模型
- 系统拆分解耦利器之消息队列---RabbitMQ-Persistence Configuration
- Android中UI控件的详细介绍(一)——Android中UI的总体分类即通用属性
- 用ffmpeg创建多个program的ts
- 懒惰学习和急切学习
- MySql存储过程常见问题
- HTTP协议入门
- javascript网页特效——window.open
- android 错误集锦 -- 微信第三方登录授权开发
- 类成员的4种使用方式
- 最小二乘法