Android界面设计也被称为布局,其中常见的布局包括:
- 相对布局RelativeLayout
- 线性布局LinearLayout
- 表格布局TableLayout
- 网络布局GridLayout
- 帧布局FrameLayout
UI设计相关的几个概念
- View
View在Android中可以理解为视图。它占据屏幕上的一块矩形区域,负责提供组建绘制和事件处理的方法
View类支持的常用XML属性及对应的方法
XML属性 | 方法 | 描述 |
---|---|---|
android:background | setBackgroundResource(int) | 设置背景,其属性值为Drawable资源或者颜色值 |
android:clickable | setClickable(boolean) | 设置是否响应单击事件,其属性值为boolean类型的false或者true |
android:elevation | setElevation(float) | Android API 21 新添加的,用于设置z轴深度,其属性值为带单位的有效浮点数 |
android:focusable | setFocusable(boolean) | 设置是否可以获取焦点,其属性值为boolean型的true或者false |
android:id | setId(int) | 设置组件的唯一标识符ID,可以通过findViewById()方法获取 |
androi:longClinkable | setLongClinkable(boolean) | 设置是否响应长单击事件,其属性值为boolean型 |
android:minHeight | setMinimumHeight(int) | 设置最小高度,其属性值为带单位的整数 |
android:minWidth | setMinimumWidth(int) | 设置最小宽度,其属性值为带单位的整数 |
android:onClink | 设置单击事件触发的方法 |
-
ViewGroup
- ViewGroup在Android中可以理解为容器。ViewGroup类继承自View类,它是View类的扩展,是用来容纳其他组件的容器;
- ViewGroup是一个抽象类,在实际应用中使用ViewGroup的子类来作为容器的。平时较为常用的是ViewGroup.MarginLayoutParams类和ViewGroup.LayoutParams类
Android开发注意:
- XML定义用户界面,Java定义逻辑单独的资源文件;
- 界面描述方式灵活。
Android用户界面框架:
- Android用户界面框架中的界面元素以一种树形结构组织在一起,称为视图树(ViewTree)
- Android系统会根据视图树的结构从上至下绘制每一个界面元素。每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有的子元素进行绘制
- Activity
- Activity代表的是显示给用户的窗口或屏幕:Android中定义Activity使用一个view和viewgroup的树状节点
- 要显示一个用户界面就需要给一个Activity分配一个View或者布局,使用setContentView()方法 - 界面布局
- 界面布局layout是用户界面结构的描述,定义了界面中所有的元素、结构和相互关系
- 声明Android程序的界面布局有两种方法:使用XML文件描述界面布局和在程序运行时动态添加或修改界面布局
- 用户既可以独立使用任何一种界面布局的方式,也可以使用两种方式