上QQ阅读APP看书,第一时间看更新
5.1 Layout
Layout的意思是界面布局,用来设计界面的布局,所以Layout类型的资源文件就是界面定义文件。使用Android Studio提供的界面构建器设计Layout,可以做到所见即所得。
Android中的UI定义文件是一个XML文件,因为不是Java代码,所以被归为资源。Layout资源放在哪里呢?见图5-1。
图5-1
可以看到res/layout组下当前只有一个文件:activity_main.xml,就是它定义了我们所能看到的界面。它是我们创建这个App时被自动添加的,也可以手动添加。双击打开它,可以看到如图5-2所示的界面(第一次显示UI的过程可能比较长,请耐心等待)。
图5-2
这里展示的是界面设计器。在这个窗口中可以通过拖动一些控件摆放它们的位置来设计App的页面。标号所示区域的作用如下:
- 1:控件类别。
- 2:选中类别的控件列表。
- 3:所设计的页面中的控件树。
- 4:切换页面设计器视图,可选择设计视图或源码视图。Design是设计,就是当前看到的;Text是源码,就是此页面所对应的XML内容。
- 5:页面预览图。可能与App实际运行效果有些许差异。
- 6:页面排版预览图。突出显示各控件之间的摆放位置和它们之间的位置关系。
- 7:此图标有下拉菜单,用于选择如何预览界面,有三种模式,即同时显示预览图与排版图、只显示排版图、只显示预览图。
可以看到标号5处是一个手机页面的预览图。这个layout文件定义了一个页面的界面,一个页面叫作Activity。但是,在预览时也有可能看到如图5-3所示的界面。
图5-3
预览不成功。“Rendering Problems”的意思是“呈现时的问题”,就是呈现UI时遇到了问题。要解决这个问题,一般重新编译整个工程即可,如图5-4所示。
图5-4
当重新编译之后,就能看到UI的样子了。
注意
所有的控件都是从类View派生的,所以控件也被叫作View。各种Layout控件当然也是View,但是其作用特殊,所以单独称之为Layout(有时我们也把一个UI资源文件称作layout资源,因为它在res/layout组下)。