Andorid的界面,需要写在res/layout的xml里面,一般情况下一个xml对应一个界面。做android的界面有点像写html(连注释代码的方式都一样),要先给android定框架,然后再在框架里面放控件,android提供了几种框架,AbsoluteLayout,LinearLayout,RelativeLayout,TableLayout,FrameLayout
FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角
LinearLayout:里面可以放多个控件,但是一行只能放一个控件
TableLayout:这个要和TableRow配合使用,很像html里面的table
AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置
RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置
一个控件的基本框架是:
框架的xml如下:
<AbsoluteLayout
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
在java文件里面就会有:
findViewById(R.id.name);来获取控件对象。
以一个button为例:
xml文件中:
<Button
android:id="@+id/submit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ok"
/>
java文件中:
在onCreate函数中获取button对象,设置事件响应函数:
Button mybutton=(Button)findViewById(R.id.submit);
mybutton.setOnClickListener(mybuttonlistener);
然后添加事件响应函数:
private OnClickListener mybuttonlistener = new OnClickListener(){
public void onClick(View v) {
switch (v.getId()){
case R.id.submit:
xxxx;
}
}
};
即可。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Greenland03/archive/2010/01/08/5147073.aspx
布局:
AbsoluteLayout
可以通过精确的坐标(如屏幕像素)指定子对象相对父容器的位置
FrameLayout
负责显示单一对象的Layout
Gallery
一个以水平滚动方式显示有序图片列表的显示器
GridView
显示一个可滚动的有m列n行的表格
LinearLayout
以水平或垂直方式显示子元素的Layout。如果窗体的长度超过了屏幕的长度,将会出现滚动条
ListView
显示一个可滚动的单列列表
PopupList
一个独立的带边框的元素弹出列表
RelativeLayout
能够指定子对象相对于其它对象(如A在B的左边)或父对象(如在父容器的顶部)的位置
ScrollView
一个垂直的元素滚动列
Spinner
在一个单行文本框中,同时只显示一个有序列表中的一个项。类似于一个可以水平或垂直滚动的单行listbox
SurfaceView
提供直接访问一个可画图的界面。可以控制在界面顶部的子视图层。SurfaceView是提供给需要直接画像素而不是使用窗体部件的应用使用的。
TabHost
提供一个页签选择列表,监视点击并在一个页签被点击时保证应用切换屏幕。
TableLayout
一个拥有任意行和列的表格layout,每一个单元格拥有窗体部份。行会根据最大的列而自动调整大小。单元格边框不可见。
ViewFlipper
一个在单行文本框中同一时刻只显示一项的列表组件。它可以根据时间周期切换显示项,类似一个幻灯机。
ViewSwitcher
类似ViewFlipper