Android界面六大基本布局分别是:android
线性布局中,将布局中的组件线性排列,有两种排法:ide
经常使用的属性有:布局
相对布局中,组件的位置参考其余控件进行布局,默认为父控件。
相对布局有三种类型的属性:学习
属性值是true或false 字体
**属性值是”@id/*“**this
属性值是数值设计
层布局的特色是从左上角开始,后面的会覆盖前面的控件。
在普通功能的软件设计中层布局用得也很少,其主要应用就是地图方面。code
表格布局,适用于多行多列的布局格式,每一个TableLayout是由多个TableRow组成,一个TableRow就表示TableLayout中的每一行,这一行能够由多个子元素组成。实际上TableLayout和TableRow都是LineLayout线性布局的子类。可是TableRow的参数android:orientation属性值固定为horizontal,且android:layout_width=MATCH_PARENT,android:layout_height=WRAP_CONTENT。因此TableRow实际是一个横向的线性布局,且因此子元素宽度和高度一致。
在TableLayout中,单元格能够为空,可是不能跨列,意思是只能不能有相邻的单元格为空。xml
经常使用属性:继承
GridLayout网格布局是Android4.0以后新加入的布局方式,与表格布局大同小异,不过也新增了一些内容:
监听器是一个存在于View类下的接口,通常以On******Llistener命名,实现该接口须要复写相应的on****(View v)方法。
方法一:
在Activity中定义一个内部类继承监听器接口(这里是OnClickListener)。常见的继承方法以下:
class MyListener implements View.OnClickListener{ @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show(); } }
方法二:
实现匿名内部类。这种方法适合只但愿对监听器进行一次性使用的状况,在该代码块运行完毕以后,该监听器也就不复存在了。
bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"you have clicked Button1",Toast.LENGTH_SHORT).show(); } });
方法三:
利用布局文件中的onClick属性,并在实现文件中实现该方法。注意的是这里的方法名应该和布局文件中onClick属性的方法名相同,该方法必须是public方法。
public void onButtonClick (View view){ Toast.makeText(MainActivity.this,"you have clicked Button3",Toast.LENGTH_SHORT).show(); } }
在布局文件中的设置
<Button android:layout_below="@id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button3" android:text="Button3" android:onClick="onButtonClick"/>