Android学习笔记2——布局与事件响应


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;

       }
   }
 };

即可。 

跟普通java的写法一样。关键在于android的sdk库,这个是需要了解清楚的地方。

这个例子的效果如下图所示:

相关内容