2012年05月23日

トグルボタンを作成する


トグルボタンとは下のようなON/OFFを切り替えるスイッチです
device115.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" >

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton"
         android:textOn="ON" 
         android:textOff="OFF"/>
    
</LinearLayout>
ボタンやテキストビューと異なるところはandroid:textOn/textOffで
オンのときに表示する文字とオフのときに表示する文字を設定しているところです
次にMainActibity.javaを変更します
トグルボタンが変化するとログにON/OFF切り替えが表示されるようにしました
MainActibity.java
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
 
public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
		 setContentView(R.layout.main);
		 //使用するトグルボタンを指定
		ToggleButton tbtn= (ToggleButton)findViewById(R.id.toggleButton1);
		
		tbtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
		public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

			// トグルボタンの状態が変更された時の処理を記述
			if(isChecked) {	Log.v("tag", "ON");}
			else {Log.v("tag", "OFF");}
			}
		});
	}
}	
まずは使用するトグルボタンをfindViewByIdで指定します
次にsetOnCheckedChangeListenerでトグルボタン
(この場合はtbtn)が変化したときに呼び出される内容を記入します

実行するとトグルボタンのみの画面が表示されます
device116.png

トグルボタンを押すと中が変化してONになります
device117.png

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

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

メールアドレス:

ホームページアドレス:

コメント:

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


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

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

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