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

2014-11-24 10:33:48 · 作者: · 浏览: 0


FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角
LinearLayout:里面可以放多个控件,但是一行只能放一个控件
TableLayout:这个要和TableRow配合使用,很像html里面的table
AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置
RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置


一个控件的基本框架是:


框架的xml如下:
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>


在java文件里面就会有:


findViewById(R.id.name);来获取控件对象。


以一个button为例:


xml文件中:


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库,这个是需要了解清楚的地方。


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