////
TOP目次
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
ラジオボタンが押さた時のイベントを取得
スポンサードリンク

【ウィジェット ラジオボタンの最新記事】
2012年05月24日

トグルボタンを作成する(2)


前回はレイアウトに配置して静的にトグルボタンを作成・制御しました
トグルボタンをレイアウトに配置する方法
今回はMainActivity.javaを変更し動的に配置してみたいと思います

トグルボタンをアクティビティ内で配置する方法
レイアウトとトグルボタンを配置した後
setTextONとsetTextOFFによってON/OFF時に表示される文字を設定します
それ以外は前回とほぼ変わりませんw
MainActivity.java
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
 
public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
		 setContentView(R.layout.main);
		// トグルボタンを生成
		ToggleButton tbtn = new ToggleButton(this);
		tbtn.setTextOff("OFF");
		tbtn.setTextOn("ON");
		// レイアウトのトグルボタンを追加
		LinearLayout layout = new LinearLayout(this);
		layout.addView(tbtn, new LinearLayout.LayoutParams(
		LinearLayout.LayoutParams.WRAP_CONTENT,
		LinearLayout.LayoutParams.WRAP_CONTENT));

		setContentView(layout);
		
		tbtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
		public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

			// トグルボタンの状態が変更された時の処理を記述
			if(isChecked) {	Log.v("tag", "ON");}
			else {Log.v("tag", "OFF");}
			}
		});
	}
}	
new ToggleButton(this)でトグルボタンを新規作成
layout.addViewで作成したlayoutにトグルボタンを配置しています

実行結果は前回と同じですが
device116.png

ボタンを押すともちろん変化します
device117.png

ログもちゃんと出力されています
device118.png
スポンサードリンク

×

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