ndroid基礎控件

這兩個控件就是提供給用戶進行選擇的時候一種好的體驗:比如有時候不需要用戶親自輸入,那麼我們就提供給用戶操作更快捷的選項。單選按鈕(RadioButton)就是在這個選項中,用戶隻能選擇一個選項。而復選框(CheckBox)控件顧名思義就是可以選擇多個選項。下面就介紹這兩個控件。

 

5.2.1示例:

 

示例一:RadioButton控件的用法(這裡采用佈局文件方法來演示,先說明RadioButton的用法):

 

<?xml version="1.0" encoding="utf-8"?>

 

<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"

 

    android:layout_width="fill_parent"

 

    android:layout_height="fill_parent"

 

    android:orientation="vertical" >

 

<!–這裡是定義瞭一組RadioButton,然後分為三個選項–>

 

    <RadioButton

 

        android:id="@+id/first_radiobutton"

 

        android:checked="true"

 

        android:layout_width="fill_parent"

 

        android:layout_height="wrap_content"

 

        android:onClick="onAction"

 

        android:text="男" />

 

 

 

    <RadioButton

 

        android:id="@+id/second_radiobutton"

 

        android:layout_width="fill_parent"

 

        android:layout_height="wrap_content"

 

        android:onClick="onAction"

 

        android:text="女" />

 

 

 

    <RadioButton

 

        android:id="@+id/third_radiobutton"

 

        android:layout_width="fill_parent"

 

        android:layout_height="wrap_content"

 

        android:onClick="onAction"

 

        android:text="其他" />

 

 

 

</LinearLayout>

 

這上面是給出的佈局文件的代碼,這裡主要是實現圖5.1的佈局界面,而真正要實現功能的代碼不在這塊。上述代碼中的:android:checked="true"; 是用來設置默認選中的那個選項,而android:onClick="onAction"是設置監聽事件方法,在java代碼中實現。這裡可以使用RadioGroup要定義一組按鈕,也就是說,在這一個組內,選項有用。這裡采用java代碼實現。代碼如下:

 

package xbb.bzq.android.app;

 

 

 

import android.app.Activity;

 

import android.os.Bundle;

 

import android.view.View;

 

import android.widget.RadioButton;

 

 

 

public class RadioButtonAndCheckBoxTestActivity extends Activity {

 

//定義三個RadioButton變量

 

private RadioButton mButton1, mButton2, mButton3;

 

 

 

@Override

 

public void onCreate(Bundle savedInstanceState) {

 

super.onCreate(savedInstanceState);

 

setContentView(R.layout.main);

 

//實例化三個單選按鈕控件

 

mButton1 =

 

 (RadioButton) findViewById(R.id.first_radiobutton);

 

mButton2 =

 

 (RadioButton) findViewById(R.id.second_radiobutton);

 

mButton3 =

 

 (RadioButton) findViewById(R.id.third_radiobutton);

 

}

 

 

 

   /**

 

    * 這是實現的監聽方法,主要是實現修改選項的值

 

    * @param v

 

    */

 

public void onAction(View v) {

 

//通過獲取id來判斷用戶的選擇,然後改變控件的選擇狀態

 

switch (v.getId()) {

 

case R.id.first_radiobutton:

 

mButton2.setChecked(false);

 

mButton3.setChecked(false);

 

mButton1.setChecked(true);

 

break;

 

case R.id.second_radiobutton:

 

mButton1.setChecked(false);

 

mButton3.setChecked(false);

 

mButton2.setChecked(true);

 

break;

 

 

 

case R.id.third_radiobutton:

 

mButton2.setChecked(false);

 

mButton1.setChecked(false);

 

mButton3.setChecked(true);

 

break;

 

}

 

}

 

}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *