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"/>