Android开发第三讲,布局管理器
目录
- Android 布局管理器
- 一丶简介布局管理器
- 二丶 LinerLayout 线性布局
- 2.1 LinerLayout线性布局的属性
- 三丶相对布局 RelativeLayout
- 3.1 相对布局 RelatvieLayout属性
Android 布局管理器
一丶简介布局管理器
通过上一讲,我们用 Android Studio 创建了一个简单的Android项目.并且成功运行.
我们知道了Android Studio的目录结构. 也知道我们的 HelloWord是在哪里存放的.
那么我们应该这样想. Android有很多控件.等. 类似于MFC 程序.有按钮啊 编辑框啊等等.
那么要怎么进行统一管理的哪. 这里其实就是Android布局管理器在管理.
Android Studio -> app ->src ->main -res ->Layout 记录着的就是HelloWorld文件存放位置
主要分为两种
LinearLayout(线性布局)
RelativeLayout(相对布局)
下面就介绍下布局的 xml属性等
二丶 LinerLayout 线性布局
2.1 LinerLayout线性布局的属性
如下表所示
| 属性 | 作用 | 对应Value值 | 作用 |
|---|---|---|---|
| android:id | 控件的id标识,通过id可以找到控件, 有一个@+id 标识自动创建 | @+id/ | 表示自动创建ID.随便定义一个即可 |
| android:layout_width | 控件的宽度,对应值 | wrap_content match_parent | wrap_content,标识根据内容,宽度字修改,match_parent就是匹配父控件父控件多宽我就多宽 |
| android:layout_height | 高度 | ||
| android:background | 背景 可以设置颜色,图片.或者自定义的. | ||
| android:layout_margin | 外边距,表示我这个控件距离外部边距是多少 | ||
| android:layout_padding | 内边距,距离内部元素的距离是多少.比如你设置20dp那么内部距离外部就要有20 | padding paddingleft paddingtop paddingbottom | 这里的padding代表的是上下左右都设置,那么left就射只设置左边.反之也有设置上边 下边右边等 |
| android:orientation | 方向,属于LinerLayout特有的.因为横着也是线性,竖着也是线性,你也表示你是横着表示 还是竖着表示 | vertical horizontal | vertical表示线性布局是垂直方向 horizontal则表示是水平的方向 |
| android:gravity | 表示你内部控件的属性,是居中显示 还是从左到右 还是上到下等等,注意没有layout前缀 | bottom center | 从下向上 或者居中 |
| android:layout_weight | 权重值 比如我们一个view宽度设置为都设置为1.我们要在一个布局中一分为2.第一种方法就是建立两个view,分别设置宽度.第二种就是宽度修改为0,权重值改为1.那么就代表两个view的宽度值是平分的,权重值一样,也可以理解为分别占了几分之几,比如两个view都是1.那么就是各占二分之一,一个是2,一个是1.那么就是三分之2,另一个就占了三分之一 |
这些属性不是说特有的属于这个布局的属性.基本上很多属性都会用到.所以了解了啥意思.
以后编写xml布局就很简单了.
我们可以修改Android Studio看到效果
<?xml version="1.0" encoding="utf-8"?>
直接使用Android中的 Run即可看到效果
效果图如下.
三丶相对布局 RelativeLayout
3.1 相对布局 RelatvieLayout属性
| 属性 | 作用 | 值 | 作用 |
|---|---|---|---|
| android:layout_toLeftOf | 参照的概念,在谁的左边 填写一个view的ID 可以相对于这个view设置在它的左边 | ||
| android:layout_toRightOf | 同上在谁的右边. | ||
| android:layout_alignBottom | 跟谁底部对齐 | ||
| android:layout_alignParentBottom | 跟父控件底部对齐,比如一个view想设置在底部,有两种方法 1.使用android:gravity 设置为 bottom ,2.在view使用此属性设置为TRUE | ||
| android:layout_below | 在谁的下边 | ||
其它网上资料
RelativeLayout用到的一些重要的属性:
一、相对于父容器而言的属性
android:layout_centerInparent 相对于父容器完全居中
android:layout_alignParentTop 贴紧父容器的上边
android:layout_alignParentBottom 贴紧父容器的下边
android:layout_alignParentLeft 贴紧父容器的左边
android:layout_alignParentRight 贴紧容器的右边
二、相对于控件而言的属性
android:layout_below 在某个组件的下边
android:layout_above 在某个组件的上方
android:layout_toLeftOf 在某个组件的左边
android:layout_toRightOf 在某组件的右边
android:layout_alignTop 个组件之间是顶部对齐
android:layout_alignBottom 两个组件之间是底部对齐
android:layout_alignLeft 两个组件之间是左边缘对齐
android:layout_alignRight 两个组件之间是右边缘对齐
三、属性值为具体的像素值
android:layout_marginTop 离某元素上边缘的距离
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
Xml 数据如下
<?xml version="1.0" encoding="utf-8"?>
实现效果