千锋大数据开发学院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的关系图 。
本文插图
从上图中可以看到 , 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 , 则该空间会占据指定的宽度 。
- id:为组件定义唯一指定标识符 , 不可重复 , 方便在Activity中通过id进行获取该控件;layout_width:指定布局宽度 , 通常有两种选项:wrap_content表示自动包裹 , 控件实际宽度 。 match_parent:填充父容器宽度 。 layout_height:指定布局高度 , 值选项同layout_width一样 。 gravity:指定布局容器包含的子控件的对齐方式 。 可选值包括:left、right、center 。 layout_gravity:该属性用于指定layout_margin:外边距 , 布局或者控件距离外部元素的边距 。 通常设置一个具体的值 。 layout_padding:内边距 , 布局或者控件距离内部子控件的边距 , 通常设置一个具体的值 。
本文插图
RelativeLayout 相对布局
子控件之间或者子控件和容器之间关于相对位置描述的布局 。
关于RelatvieLayout的一些属性 , 可以分为两类:
1、相对于容器(父布局)的属性:
- layout_centerVertical:设置是否相对于父布局垂直居中 , 属性值为truelayout_centerHorizontal:设置是否相对于父布局水平居中 , 属性值为truelayout_centerInParent:设置是否相对于父布局居中(水平和垂直方向都均居中) , 属性值为truelayout_alignParentTop:设置在父布局的顶部 , 属性值为truelayout_alignParentBottom:设置在父布局的底部 , 属性值为truelayout_alignParentRight:设置在父布局的右侧 , 属性值为truelayout_alignParentLeft:设置在父布局的左侧 , 属性值为truelayout_alignParentStart:设置在父布局开始的位置 , 属性值为truelayout_alignParentEnd:设置在父布局结束的位置 , 属性值为true
推荐阅读
- 下个10年,Go能取代Python成为开发者的首选语言吗?
- 安东尼·戴维斯|总决赛期间,巴特勒96投157分,浓眉哥98投150分,而詹皇是这数据
- 大数据&云计算长飞公司亮相2020中国国际信息通信展览会
- 命运2|《命运2》知名外挂商宣布停售,表示完全尊重开发商决定
- 电池|iPhone12电池小,真的续航差?看看真实的数据就明白了
- 金十数据|澳大利亚铁矿石对华出口会受影响吗?,中国1年买超6亿吨!煤炭之后
- 飞翔电竞|数据表明,他才是目前世界第一中单!,左手世界赛状态低迷
- 虎扑|媒体盘点其恐怖数据,前NBA球员马努特-波尔58岁生日
- 我是球委会|詹皇五项数据第一,小卡呢,过去5年的FMVP谁更强?阿杜得分最高
- 丁祖昱|数据中心成投资新风口“数字地产”受青睐