回首頁
Button類元件
Spinner元件
日期及時間輸入元件
ListView元件
AlertDialog元件
範例練習
ToggleButton
ToggleButton是一個有開/關兩個狀態切換的按鈕,此元件繼承Button。
屬性:
android:textOn:設定按鈕開啟時按鈕上所顯示的文字
android:textOff:設定按鈕關閉時所顯示的文字
android:checked:設定初始時是開或關,可設定的值true、false
ToggleButton元件的位置位於Form Widgets資料夾內。
範例佈局程式碼中,示範了兩個分別在開與關狀態下顯示ON,OFF文字。
ImageButton
ImageButton使用方法與Button相同,差別是它可以讓使用者在Button上加上自己定義的圖案
屬性:
android:src :設定按鈕上的圖片或色彩
android:cropToPadding : 剪裁圖片使其配合按鈕大小
android:scaleType : 控制圖片大小或位置,可設定的值如下
android:tint : 圖片上再重新著色
scaleType可以指定的值:
matrix(將原圖片置於元件的左上角,超出元件部分將剪裁掉)
fitXY(將圖片縮放不維持長寬比例,以填滿元件大小)
fitStart(將圖片依長寬比例縮放,直到圖片的寬或高符合元件大小,圖片置於元件的左上角)
fitCenter(將圖片依長寬比例縮放,直到圖片的寬或高符合元件大小,圖片置於元件的中間)
fitEnd(將圖片依長寬比例縮放,直到圖片的寬或高符合元件大小,圖片置於元件的右下角)
center(將原大小圖片置於元件的中間,超出元件外的部分將被裁剪)
centerCrop(將圖片依長寬比例縮放,直到圖片符合元件最寬或最高的大小,超出部分將剪裁掉)
centerInside(若圖片寬或高大於元件大小,則將圖片依長寬比例縮小,直到圖片的寬或高符合元件大小,圖片置於元件的中間;若圖片寬或高小於或等於元件大小,則直接將原圖片置於元件的中間)
RadioButton
單選按鈕,用來表示圈選某項資料的元件,繼承自Button下的CompoundButton。
多選一時,需在多個RadioButton標籤外,加上<RadioGroup>。
RadioButton元件的位置位於Form Widgets資料夾內,通常使用時會先將RadioGroup拖曳到畫面中,再將RadioButton元件拖入。
RadioGroup屬性 :
android:orientation : 設定單選群組中的排列方式(horizontal, vertical)。
android:checkedButton : 設定單選群組中,哪個選項在初始時為被選取的狀態。
範例佈局建立兩個單選選項,在RadioGroup 標籤中加入android:checkedButton="@id/radioButton",將底下代號為radioButton的選項(男)作為預設選取。
使用程式取得RadioButton的值:
範例:
CheckBox
多選按鈕,提供使用者複選的功能。
屬性
android:checked:初始時是選取或未選取,可設定的值: true, false。
使用程式取得CheckBox的值
範例(使用陣列)
[ 回頂端 ]
Spinner
Spinner元件為一種下拉式選單。與ListView元件類似,可顯示多個項目,但不具choiceMode模式(單選、複選)。
屬性 :
android:entries 使用資源檔的方式,設定選單的內容(字串陣列資源),如果要動態改變內容,可使用程式的方式來設定(在進階元件介紹)。
android:spinnerMode 設定選單模式,可設定的值:dialog、dropdown。
android:prompt設定跳出選單對話框的標題文字,值必須使用@string引用定義的字串。
Spinner元件事件處理的重要方法:
- setOnItemSelectedListener(...):設定Spinner的事件處理處理函式,當選一個新的項目時,會觸發此函式。註:不要誤選setOnItemClickListener,Spinner不能使用此函式。
- getSelectedItemPosition():取得Spinner目前選定的項目的位置。
- getSelectedItem():取得Spinner目前選定的項目,如果此項目為字串,要再加上toString()函式,來取得此字串。。
範例:
[ 回頂端 ]
DatePicker(年月日挑選元件)
重要屬性
- android:minDate可選起始日期
- android:maxDate可選結束日期
DatePicker元件的方法:
- getDayOfMonth():取得日期(1-31)
- getMonth():取得月份(0-11)
- getYear():取得年份(4位數)
程式範例 :
TimePicker(時間輸入元件)
TimePickerDialog(時間輸入對話方塊)
[ 回頂端 ]
ListView(條列式選單)
條列式選單可以用來顯示提供單選或複選的列表資料。
屬性:
android:choiceMode:選擇模式(none、singleChoice、multipleChoice、multipleChoiceModal)
android:entries:選單中的選項,設定值需引用陣列資源,如: @array/data
android:divider:分隔線顏色或圖示,設定值可為顏色或圖片
android:dividerHeight:分隔線高度,設定值為整數
使用程式顯示資料(Adapter與AdapterView)
當我們要使用程式來顯示資料,我們必須使用Adapter元件。
Adapter元件用來將資料來源繫結到Spinner或ListView之類的AdapterView元件。
Adapter的種類
以下是四種內建的listView一列資料的佈局:
- android.R.layout.simple_list_item_1 :
只顯示一行文字
- android.R.layout.simple_list_item_2 :
顯示兩行文字,且一行字體較大另一行字體較小
- android.R.layout.simple_list_item_single_choice :
顯示一行文字,最右邊有單選元件,具一個TextView和一個RadioButton
- android.R.layout.simple_list_item_multiple_choice :
顯示一行文字,最右邊有多選元件,具一個TextView和一個CheckBox
ListView範例2:
ListView範例3:
ListView範例4:
[ 回頂端 ]
Toast與AlertDialog
使用Toast元件顯示訊息雖然很方便,但無法與使用者互動,因此顯示片刻後會自動消失。
AlertDialog元件顯示訊息後不會自動消失,可以製作按鈕與使用者互動,直到使用者按鈕後才關閉對話方塊並回應使用者的按鈕動作。
AlertDialog常用函式
範例:
[ 回頂端 ]
[ 回頂端 ]