基本控件
1 三種控件大小值
match_parent:當前控件大小和父布局大小相同
fill_parent
wrap_content:當前控件大小剛好能夠包含里面的內容
2 文字對齊方式
top:
left:
right:
center:
3 兩種注冊按鈕的方式
(1)使用匿名類注冊監聽器
(2)使用接口方式
4 控件的可見性
(1)visible:控件可見
(2)invisivle:控件不可見,但是還占據著原來的位置
(3)gone:控件不僅不可見,而且不占用任何的屏幕空間
在代碼中使用setVisiblity()進行設置
5 常見控件及作用
(1)TextView:在界面上顯示一段文本信息
(2)Button:按鈕,一般需要注冊監聽器
(3)EditView:文本輸入框。使用android:hint可以指定過一段提示性的文本。
(4)ImageView:在界面上顯示一張圖片。可以在MainActivity中調用setImageResource方法修改圖片的資源屬性
(5)ProgressBar:進度條
(6)AlertDialog:當前界面彈出對話框
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
(7)ProgressDialog:彈出對話框的同時顯示進度條
布局文件
1 四種基本布局文件
(1)LinearLayout:線性排列。有垂直線性排列和水平線性排列。默認是水平排列。如果指定為水平的線性排列,則內部控件寬度不能為match_parent。同樣,如果為垂直排列,則控件高度不能為match_parent。
android:layout_weight屬性的使用:將該屬性設為1,則系統會根據水平排列的所有屬性的寬度值/總值算出它的大小。
(2)RelativeLayout:相對布局。
控件相對布局定位:android:layout_alignParentLeft:true/flase
控件相對控件定位:android:layout_above:"@id/button3" ?一個控件位于另一個控件的上方
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?android:layout_below:"@id/button3" ?一個控件位于另一個控件的下方
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?android:layout_toRightOf ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 右側
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?android:layout_toLeftOf ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左側
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?android:layout_alignTop:控件與控件上邊緣對齊
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?android:layout_alignButtom:下邊緣
(3)FrameLayout:所有的控件位于布局的左上角
(4)TableLayout:以表格的形式來組織
自定義控件
1 可以使用布局文件編寫控件,然后在想要引用該控件的布局文件里引用,引用方式如下:
<include layout="@layout/title" /> ? ?//title為事先編寫好的標題欄控件
2 自定義控件:編寫一個類繼承LinearLayou,在這個類里實現事件注冊。然后在布局文件里添加這個自定義的控件。以后這個控件就能夠在多個活動里使用,而不必在每個活動中為控件進行事件注冊。
ListView
步驟
數組適配器(ArrayAdapter)
(1)準備數據:比如使用一個string數組data作為數據
(2)構造適配器:
ArrayAdapter<string> adapter =new ArrayAdapter<string>(上下文,子項布局,數據data)
(3)將適配器傳給ListView
listView.setAdapter(adapter)
(4)注冊監聽器
setOnItemClickListener():當用戶點擊ListView中任何一個子項就會回調onItemClick()方法
單位和尺寸
單位類型
px:像素
pt:磅數,一般作為字體的單位使用
dp:密度無關像素dip,在不同的密度的屏幕中顯示比例保持一致
sp:可伸縮像素
一般來說,使用的時候將控件或者布局文件設為match_parent,如果一定要指定數值,則使用dp作為單位,文字使用sp作為單位