前一段时间一直在考试,现在放假了,有时间好好的看了一下Android的布局。

之前对于XML的布局方法一直看着不爽,感觉很乱的样子,但时间长了我渐渐发现,这种程序代码与界面布局完全分开的方法非常顺手,该布局的地方都到main.xml里去写,甚至界面中显示的字符串都可以集中到string.xml文件中,而主程序的".java"文件中则完全用于编写代码,思路非常清晰。

1 首先按照程序的目录结构大致分析

res/layout/   这个目录存放的就是布局用的xml文件,一般默认为main.xml
res/values/   这个目录存放的是一堆常量的xml文件
res/drawable/ 存放的是一些图片什么的,当然图标也在这里

2 下面主要对layout下的xml文件做个介绍,顺便也把布局的方法总结一下

2.1 文件的开头

<?xml version="1.0" encoding="utf-8"?>

这是在说明xml版本及字符编码

2.2 布局框架

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
</LinearLayout>

其中开头的"LinearLayout"是布局的方式,可以有很多种,最常用的应该就是Linear了,其他的布局方法等下在后面总结。

接着android:layout_width(height)="wrap_content"是在设置这部分布局的宽高,也可以是绝对值,当然设置为绝对值时要标上单位。

2.3 添加控件

在"\<LinearLayout>"和"\</LinearLayout>"之间就可以添加控件了,比如要添加一个名字为btn的Button控件,并且Button上显示的文字是"Test!",可以这样写:

<Button id="@+id/btn" 
  android:text="Test!"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
/>

开头id后面的就是控件名称,在用于添加事件Listener时会用到,而下几行的android:xxx就是设置控件的属性了,这些属性在Android的文档中都有,不需要特别去记,一般现查就可以了。

有一点要说明的是,布局方法可以嵌套,有点像java中的Container,可以非常方便的把界面“堆”出来。

布局方式的简单说明: 查了Android文档发现布局确实很多,只列出两个我自己认为较常用的:

  • LinearLayout线性的布局方式,要么上下,要么左右的添加控件,很常用
  • GridView中文翻译过来是网格布局,控件按照顺序依次填到每个格子里就好了,出来的界面会很整齐

其他的布局方式可以在需要时查文档,这里不再列出。


Comments