Button
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_add"
/>
介紹一些可能常用的屬性:
android:enabled=”[true|false]” 表示按鈕是否有效(能不能按)
android:onClick="[Your method name]"
表示按鈕按下後的觸發事件
在之前的程式裡,我們要處理Button的時候都是在Activity建立一個OnClickListener 並實作 onClick(View) 方法來解決按鈕按下後要做的事情
例如:
button.setOnClickListener(new OnClickListener(){
public void onClick(View view) {
// TODO Auto-generated method stub
// Your code }
});
這樣有時候當程式碼多的時候是蠻不好看也不好維護的,
所以可以直接在layout下設定Button的android:onClick屬性,
並在對應的Activity新增一個方法
public class Activity01 extends Activity{
public void buttonClickAction(View button){
... ...
}
}
如此一來你也不用implements OnClickListener介面。
至於如果想要在Button上增加圖片,那麼可以採用ImageButton
並透過android:src="@drawable/xxx" 設定圖片來源。
另外在額外介紹一個ToggleButton
這是一個on/off得按鈕,它如同一般的Button一樣有OnClickListener事件
且額外還有一個OnCheckedChangeListener事件可實作
tglbtn.setOnCheckedChangeListener(new ToggleButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { Log.d("tglbtn", "This checkbox is: checked"); } else { Log.d("tglbtn", "This checkbox is: unchecked"); } }) }
如果想要透過程式讓ToggleButton設定成勾選狀態,可透過:
tglbtn.setChecked(true);
或 tglbtn.toggle();
至於ToggleButton的layout,如下所示:
<ToggleButton android:id="@+id/ToggleButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Button
On"
android:textOff="Button Off"/>
EditText
類似HTML的 <input type=”text” />
<EditText
android:id="@+id/EditText03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false" />
android:singleLine=”[true|false]”
表示是否只能輸入一行
android:capitalize=”[0|1|2|3]”
表示將字母轉成大寫
Constant
|
Value
|
描述
|
none
|
0
|
不自動轉換
|
sentences
|
1
|
轉換每個句子的第一個字母
|
words
|
2
|
轉換每個單字的第一個字母
|
characters
|
3
|
轉換每個單字的每個字母
|
android:digits=”” 設定只允許輸入哪些字元。
android:editable=”[true|false]”
設定是否可編輯。
android:hintText=”[string]”
為空時,所要表示的訊息。
android:password 表示為密碼格式。
CheckBox
<CheckBox
android:id="@+id/mycheckbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is a
checkbox"
/>
CheckBox 有點類似ToggleButton,同樣會有OnCheckedChangeListener事件可實作,在Java 程式中要檢查該CheckBox是否有勾選,可以用isCheck()函式。
如果要設定CheckBox的勾選狀態可以使用setChecked()或是toggle()。
RadioBox
<RadioGroup android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton android:id="@+id/RadioButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_man"
/>
<RadioButton android:id="@+id/RadioButton02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/app_female"/>
</RadioGroup>
如上,RadioBox通常會組成一個RadioGroup
而常用的方法一樣也是有OnCheckedChangeListener,看以下範例:
public void onCheckedChanged(RadioGroup group, int checkedId){
int radioId =
myradiogroup.getCheckedRadioButtonId();
if(radioId < 0 ) //表示沒有任何RadioButton被選
myTextView.setText("No
Radio Button is selected");
else{
RadioButton rb =
(RadioButton)group.findViewById(radioId);
myTextView.setText("radio
button: " + rb.getText());
}
}
RadioGroup透過 check()方法將群組內的某個RadioButton設置為勾選
例如:rGroup.check(R.id.RadioButton02);
或是透過clearCheck()清除所有選擇的項目。
沒有留言:
張貼留言