前回からだいぶ開いてしまいましたが、目覚ましアプリを少しずつ作っていきたいと思います。
android開発の経験がない筆者ですが、Javaも経験がないという
とても残念なため、内容も初歩的なことも多いと思いますが、
きっと同じような人もいると思いますので、頑張って更新していきたいと思います。
ボタンの活性・非活性
前回までで一応クリックイベントを使ったアプリを作成したので、
今回はボタンのON/OFFを切り替えられるアプリを作りたいと思います。
では早速、ボタンをサクサクっと配置してみましょう。
res/layout/mail.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"> <!-- ▼ 追加 =========================== ▼ --> <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText1" android:inputType="time"> <requestFocus></requestFocus> </EditText> <Button android:layout_height="wrap_content" android:id="@+id/btn_on" android:layout_gravity="center" android:text="ON" android:layout_width="141dp" android:enabled="true"> </Button> <Button android:layout_height="wrap_content" android:layout_gravity="center" android:text="OFF" android:id="@+id/btn_off" android:layout_width="141dp" android:enabled="false"> </Button> <!-- ▲ 追加 =========================== ▲ --> </LinearLayout>
ここまでは、前回の知識だけでできますね★★★★
ちなみに、初期表示ではONボタンを活性状態で表示させています。
次に追加したボタンにクリックイベントを設定し、ONボタンを押下したときにOFFボタンを活性状態に変更し、ONボタンを非活性にする。
OFFボタンを押下したときにはONボタンを活性状態に変更し、OFFボタンを非活性にするようにイベント内に設定を書き加えていきましょう。
ボタンの活性・非活性を設定するには「setEnabled」を使用します。
引数にtrueを設定すれば活性、falseを設定すれば非活性になります。
また、匿名クラスの中で使うためにfinal宣言をします。(メンバー変数で持たせるほうがスマートなのかもしれない)
src/jp.ne.hatena.d.failure_engineer.test_alarm/Test_alarmActivity.java
package jp.ne.hatena.d.failure_engineer.test_alarm; import android.app.Activity; import android.os.Bundle; //▼ 追加 =========================== ▼ import android.view.View; import android.widget.Button; //▲ 追加 =========================== ▲ public class Test_alarmActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ▼ 追加 =========================== ▼ // ボタンの設定 final Button alarmOnButton = (Button)findViewById(R.id.btn_on); // ONボタン final Button alarmOffButton = (Button)findViewById(R.id.btn_off); // Offボタン // ONボタンクリックイベント alarmOnButton.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { alarmOnButton.setEnabled(false); alarmOffButton.setEnabled(true); } }); // OFFボタンクリックイベント alarmOffButton.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { alarmOffButton.setEnabled(false); alarmOnButton.setEnabled(true); } }); // ▲ 追加 =========================== ▲ } }
実行するとこんな感じです。
こんな感じで目覚ましのON・OFFボタンを作ってみました。(このペースだといつ完成するかな・・・)
Post Footer automatically generated by Add Post Footer Plugin for wordpress.
[…] | まいぺ~すエンジニアの日記. 【androidアプリ開発 No.10】 | まいぺ~すエンジニアの日記. 【androidアプリ開発 No.11】 | […]