2012年05月30日

ラジオボタンを作成する


ラジオボタンとは下のような選択制の切り替えるスイッチです
device119.png

ラジオボタンを作成する方法は2通りあります
事前にレイアウトに配置(静的)しているものはxmlで設定し
MainActivityなどコードで定義する(動的)の2種類です

ラジオボタンをレイアウトに配置する方法
まずはレイアウトに配置する(静的)方法です
layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >
 <RadioGroup android:id="@+id/radiogroup_id"
    android:layout_width="wrap_content"
	android:layout_height="wrap_content">
    <RadioButton
        android:id="@+id/radioButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ラジオボタン1" 
        android:checked="true"/>

    <RadioButton
        android:id="@+id/radioButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ラジオボタン2" />
  </RadioGroup>
</LinearLayout>
TextViewなどと異なるところはRadioGroupを設定することです
ラジオボタンはグループ内で1つのみを選択できるものなので
RadioGroupでグループ化してやりその中に配置したラジオボタンから
1つを選択する形になります
また、android:checked="true"をどれか1つにつけてやり
初期に選択されているものを設定してあげます

ラジオボタンをアクティビティ内で配置する方法
今回は次にActivity内で動的に配置する方法を先に記載します
今までと同様にLinearLayoutを作成し
RadioButton・RadioGroupをLayoutに追加すればOKです
作成したラジオボタンに表示する文字と初期の選択位置を設定するのは
Layoutに配置するときと同様です
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
 
public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	// ラジオボタンを生成
	RadioButton radio01 = new RadioButton(this);
	radio01.setText("ラジオボタン1");
	radio01.setChecked(true);// ラジオボタンをチェック状態に
	RadioButton radio02 = new RadioButton(this);
	radio02.setText("ラジオボラン2");
	// ラジオボタンをグループ化
	RadioGroup group = new RadioGroup(this);
	group.addView(radio01);
	group.addView(radio02);
	// レイアウトにラジオグループを追加
	LinearLayout layout = new LinearLayout(this);
	layout.addView(group, new LinearLayout.LayoutParams(
	LinearLayout.LayoutParams.WRAP_CONTENT,
	LinearLayout.LayoutParams.WRAP_CONTENT));
	
	setContentView(layout);
	}
}	
これを実行すると以下の画面が表示されます
device120 .png

これのイベント関連は次回に持ち越しますw
ラジオボタンが押さた時のイベントを取得
スポンサードリンク

【ウィジェット ラジオボタンの最新記事】
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/272538995
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。