界面在一个Android程序中是十分重要的:一个程序中有很多的类,很多的方法,但是只有UI组件是显式的,是暴露在用户面前的,用户可以通过控制这些屏幕交互元素,来直接改变程序的进程,从而达到自己想要获得的结果。
一。屏幕元素的层次
在Android平台上,最基本的用户界面表达单元是View和Viewgroup,Viewgroup可以装在和管理它下一层的视图和视图组。
二。界面布局
Android为我们提供了几种常用的布局方法:
LinearLayout:
较常用的布局方法。垂直或水平排列所有的元素。需要注意的是一个垂直列表的一行只能有一个元素,而一个水平列表也只有一个行宽。各个元素互相对齐(对齐方式可设置为左对齐,右对齐,中级对齐)。
RelativeLayout:
以某个元素间的相对其它元素的位置来决定它的位置,具有很好的灵活性。
AbsoluteLayout:
这种布局方法用功坐标值x,y来确定某个元素的位置。虽然它很准确,但是需要程序员花很多时间在计算元素的绝对位置上而纠结,并且它可能在不同的设备上不能很好的工作,通用性不强,所以一般不使用。
TableLayout:
将子元素分配到各个行列中,且容器不会显示边框线。要注意的是,单元格不能跨列。
三。按钮
Button:
一般地,每个Button都有一个OnClick方法,用于处理用户点击按钮后接下来的操作。需要使用setOnClickListener,给每个按钮设置事件监听。倘若一个界面内有好几个Button,可以通过这两种不同的方法实现对事件的监听。
第一,实现接口,通过不同的id来区分Button。
public class test extends Activity implements OnClickListener{
private Button blue;
private Button yellow;
......
blue.setOnClickListener(this);
yellow.setOnClickListener(this);
blue.setId(1);
yellow.setId(2);
......
public void onClick(View w){
switch(v.getId()){
case 1:......
case 2:......
}
第二,给不同的Button实现不同的监听器。
public class test2 extends Activity{
private Button blue;
private Button yellow;
......
blue.setOnClickListener (blueListener);
yellow.setOnClickLister(yellowListener);
}
另外,还有ImageButton类,可以以一张图片为按钮,使界面看起来更有个性化。
我的疑惑:我是应该直接利用java代码对界面进行布局,还是应该使用XML文件来布局呢?请各位指教~