網頁

2014年7月26日 星期六

9.Android的Widget之按鈕

Android在android.widget.view底下有許多的元件提供使用者開發,一開始先介紹常用的按鈕ButtonImageButton。Android中的ButtonImageButton都能夠顯示圖片,不過這兩者還是有差別的,請看下面的範例。 <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:drawableLeft="@drawable/ic_launcher" android:onClick="function" /> <ImageButton android:id="@+id/imgBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" />
範例中Buttonandroid:drawableLeft是設定按鈕的圖案,因為Buttonandroid:text屬性有設定文字,因此圖案會往左移動,因此Button會同時顯示圖案和文字,而ImageButton則無法同時顯示圖案和文字,ImageButton是用android:src設定按鈕的圖案,最後這兩個元件都能設定android:onClick來指定程式當中的事件,執行的結果如下。


接下來要介紹ToggleButton,看到這個元件的名稱就可以知道是用來開啟或關閉等等的功能,這個元件主要要設定的是開啟或關閉的文字,分別是android:textOnandroid:textOff這兩個屬性設定文字,下面是xml檔的範例和執行的結果。

<ToggleButton android:id="@+id/toggleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="on" android:textOff="off" />

CheckBox也是非常常用到的功能按鈕,它能夠提供單選或是複選的功能,它在xml檔中的寫法與前面介紹的按鈕並沒有差別,因此可以直接參考xml檔和執行圖。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="喜歡的活動:" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="電影" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="旅遊" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="逛街" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="運動" />

RadioButtonCheckBox有點類似,但不同的地方在於RadioButton只支援單選,但要使用RadioButton的單選需要RadioGroup配合,不然除了每一個RadioButton都能夠被選擇以外,還無法取消掉所選的選項,最後android:checked是設定是否程式一執行就被勾選,下面是xml檔與執行的結果。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="請選擇性別:" /> <RadioGroup android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="男" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup>

沒有留言:

張貼留言