| |
■Form Stuff 作成5 – ToggleButton
ToggleButtonはクリックする度に状態が変更されるボタンです。
on <-> off に状態が交代されます。
1.次のようにEclipseから新しいプロジェクトを生成します。
2.res -> layout -> main.xmlファイルのソースコードを修正します。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android " android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ToggleButton android:id="@+id/togglebutton" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> |
上のコードではToggleButtonに表示されるTextを指定していないことを覚えておきます。
3.src -> my.HelloFormStuff5 -> HelloFormStuff5.java を変更します。
package my.HelloFormStuff5; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; import android.widget.ToggleButton; public class HelloFormStuff5 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ToggleButton togglebutton = (ToggleButton) findViewById(R.id.togglebutton); togglebutton.setOnClickListener(new OnClickListener() { public void onClick(View v) { // Perform action on clicks if (togglebutton.isChecked()) { Toast.makeText(HelloFormStuff5.this, "ON", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(HelloFormStuff5.this, "OFF", Toast.LENGTH_SHORT).show(); } } }); } } |
コードを見ると
if (togglebutton.isChecked()) {
Toast.makeText(HelloFormStuff5.this, "ON", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(HelloFormStuff5.this, "OFF", Toast.LENGTH_SHORT).show();
}
この部分でToggleButtonがチェックされると「ON」を、チェックされない場合は 「OFF」を出力しています。
上のコードで必要なpackageは Ctrl + Shift + O を押すと自動追加されるが、 Ctrl+ Shift + O を押すと次のような選択画面が表示されます。
この時、上のOnClickListenerを選択してFinishを押下します。
4.Ctrl+F11 で実行します。
ToggleButtonはTextを指定しない場合、デフォルトで「ON」、「OFF」を持ちます。
ToggleButtonをクリックする度に下のメッセージがON <-> OFF に変更されます。
今度はToggleButtonに表示されるTextとクリックした時に表示されるメッセージを変更して見ましょう。
次は修正したコードと結果です。
まず、 main.xml を変更します。
<ToggleButton android:id="@+id/togglebutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="選択" android:textOn="解除" /> |
上のコードで太字の部分を追加します。
次は HelloFormStuff5.java で変更した部分です。
if (togglebutton.isChecked()) {
Toast.makeText(HelloFormStuff5.this, "選択", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(HelloFormStuff5.this, "解除", Toast.LENGTH_SHORT).show();
}
上のコードのようにメッセージを出力する部分を変更します。
次は実行結果です。