千锋大数据开发学院UI布局和初级控件的使用


_本文原题:UI布局和初级控件的使用
Activity
1、Activity是Android项目应程序中的交互接口 。
2、可以简单理解为屏幕上的一个窗口 , 应用每打开一个新的屏幕窗口 , 都对应打开了一个Activity 。
3、Activity仅仅是窗口这个容器 , 类似于一块黑板 , 在黑板上写什么内容 , 需要专门的绘制工具实现内容的绘制 。
Android中 , 负责绘制和显示内容的是通过View和ViewGroup,以及其一系列的派生子类进行实现 。
View
1、View指的是界面上显示的一个视图空间 , 比如按钮 , 输入框 , 单选框 , 复选框等都是视图 。
2、所有的视图控件均继承自View类 , 即所有的视图空间都是View的子类 。
所有的Android控件 , 又称为Widget , 都是View的子类 。
ViewGroup
在Android中 , ViewGroup继承自View , 表示的是容纳View的容器 , 主要的作用是装在和管理下一层的View对象或者ViewGroup对象 。
View和ViewGroup的关系
如图是View和ViewGroup的关系图 。
千锋大数据开发学院UI布局和初级控件的使用
本文插图
从上图中可以看到 , View是被包裹在ViewGroup容器中的 , 而ViewGroup中既可以包含View , 也可以包含ViewGroup , 实现嵌套 。
Layout 布局
翻译为界面布局 , 主要的作用是为应用程序提供界面架构 。 用于控制Activity中的控件的大小、位置、颜色等一些列属性 。
在Android中 , 依据ViewGroup派生的一些容器 , 可以用来作为整个视图的布局 。 ViewGroup派生出了:AbsoluteLayout、FrameLayout、GridLayout、LinearLayout、RelativeLayout、SlidingDrawer等 。
LinearLayout 线性布局
1、顾明思议按照水平方向或者垂直方向进行控件的摆放 。
【千锋大数据开发学院UI布局和初级控件的使用】2、特有属性:

  • orientation:该属性用于指定布局中的排列方式 , 有两种:horizontal水平布局 , vertical垂直布局 。 默认使用水平布局方式 。 layout_weight:该属性表示权重 , 除去被显示占据的空间以外的空间 , 然后根据权重的大小来分配空间 , 使用权重通常会把分配该权重方向的宽度设置为0dp , 如果未设置0dp , 则该空间会占据指定的宽度 。
3、常用属性:
  • id:为组件定义唯一指定标识符 , 不可重复 , 方便在Activity中通过id进行获取该控件;layout_width:指定布局宽度 , 通常有两种选项:wrap_content表示自动包裹 , 控件实际宽度 。 match_parent:填充父容器宽度 。 layout_height:指定布局高度 , 值选项同layout_width一样 。 gravity:指定布局容器包含的子控件的对齐方式 。 可选值包括:left、right、center 。 layout_gravity:该属性用于指定layout_margin:外边距 , 布局或者控件距离外部元素的边距 。 通常设置一个具体的值 。 layout_padding:内边距 , 布局或者控件距离内部子控件的边距 , 通常设置一个具体的值 。

千锋大数据开发学院UI布局和初级控件的使用
本文插图
RelativeLayout 相对布局
子控件之间或者子控件和容器之间关于相对位置描述的布局 。
关于RelatvieLayout的一些属性 , 可以分为两类:
1、相对于容器(父布局)的属性: