所有的问题,我都希望能从书本中找到理论的支撑。我的学习方法,爱读书!
学习完视频后,我们还可以再参考《疯狂Android讲义(第二版)》 2.2.1 线性布局 。事半功倍!
21.1 布局管理
布局管理就是组件在activity中呈现方式,包含组件大小,间距和对齐方式等。
Android提供了两种布局的实现方式:
- 在xml配置文件中声明:这种方式是将需要呈现的组件在配置文件中进行声明,在程序中通过setContentView(R.layout.main) 方法将视图呈现在activity中,通过findViewById()方法获取组件实例。一般推荐使用这种方式
- 在程序中通过编码,动态的生成组件以设置相关布局。
类比:
html 加载到浏览器中后 DOM
在dom结构中 getElementById byName byTagName
JS 当中 提供函数 进行DOM层次结构
document.createElement
node.appendChild
node.remoteChild
21.2 线性布局 LinearLayout
- 线性布局是最简单的一种布局。将子组件按照垂直或水平方向进行布局,
- 方向控制由“android:origintation” 属性来进行控制,属性值有“垂直(Vertical)” 和 水平(Horizontal)两种。
- 对齐方式由”android:gravity” 属性来进行控制,其属性值有 top, bottom, left, right, center等
- weight属性可以对整个视图比例进行分割。
由ADT默认生成的布局是相对布局。
<RelativeLayout >
</RelativeLayout>
我们先把他删掉,然后拖动一个线性布局到视图。我们activity_main.xml 内容如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
21.3 线性布局嵌套
Layout之间也可以互相进行嵌套。比如如下实例:
登录页面小练习