前章で予告し、タイトルにまで書いた訳だし、プログラミングするよー! ***・自力でボタンを配置する #region(クリックして開く) でも、まずはボタンを配置しよう。 これを #image(firstprog01s.png,,http://www57.atwiki.jp/androtomato?cmd=upload&act=open&pageid=29&file=firstprog01.png,blank) ↓ こうする #image(firstprog02s.png,,http://www57.atwiki.jp/androtomato?cmd=upload&act=open&pageid=29&file=firstprog02.png,blank) 設定した項目について解説を行う。 ・android:id="@+id/button1" … これはこのボタン独自のIDを設定するもの。独立して動作するのに必要。 ・android:layout_(width or height) … ボタンの縦と横の長さを指定するもの。 &u(){※android:layout_widthとandroid:layout_heightで設定できるパラメータには三種類ある。} &bold(){fill_parent }:画面いっぱいに表示する。(旧式の書き方なので基本的には使わない) &bold(){match_parent}:画面いっぱいに表示する。(機能は同じだが、使うならこっちで) &bold(){wrap_content}:自身にとって適切なサイズに自動調整する。 ・android:text="@string/(strings.xml内で設定した名前)" … ボタンに表示するテキスト。 ちょっとした追記:パーツのレイアウトを行うとき、ほとんどの場合で&bold(){&color(red){android:うんたら="かんたら"}}という 表記を用いる。記述途中にCtrl+Spaceで候補を表示してくれるので、どんなものがあるのかとか いろいろ探してみるといい。&bold(){&u(){試すと覚える。}} ここでいったん実行してみてボタンがきちんと表示されていれば成功。 &color(blue){次はお待ちかねのプログラミングだよー!} #endregion ***・プログラムを書くよ! #region(クリックして開く) "src"→com.(うんたらかんたら)→(アクティビティ名).javaを開く。 最初に入っている&bold(){"public boolean onCreateOptionsMenu(Menu menu)"}を削除。(下画像) #image(firstprog03s.png,,http://www57.atwiki.jp/androtomato?cmd=upload&act=open&pageid=29&file=firstprog03.png,blank) アクティビティクラスに"OnClickListener"を実装する。 (具体的には、public class (アクティビティ名) extends Activity implements OnClickListener)って感じで。 そうするとエラーが出るので、そこをクリックしてインポートを追加する。(android.view.View.OnClickListener) 更に別の所にエラーが出るので、そこをクリックして「実装されていないメソッドの追加」を選択する。 public void onClick(View v){}が生成される。これは画面にクリックされた時に呼び出される。 しかし、まだボタンとクリックが紐付けされていないので紐付けを行う。(下画像) #image(firstprog04s.png,,http://www57.atwiki.jp/androtomato?cmd=upload&act=open&pageid=29&file=firstprog04.png,blank) ざっくりいうと、ボタン変数と実際のボタンを紐付けて、ボタン変数にクリック情報を検知する関数をセットして、 クリックされたら呼び出される方に処理を記述したってこと。 まあ、とりあえず書いてみればなんとなく理解できると思う。そのなんとなくが大事なのです。 最初からあれこれ考えながらやってると一向に前に進めないからね! それはさておき、実行してボタンをクリックして設定した文字列が表示されたら成功。 &bold(){・使用したものの解説} ・Toast(今回はこれだけだけどね…):一定時間指定された文字列を表示して自動で消える機能。 それ以上のことは一切できない。 LENGTH_LONG、LENGTH_SHORTで表示時間が変わる。 前者は3500ミリ秒、後者は2000ミリ秒となっている。 デザインの必要がなく、残す必要もない通知に最適。 #endregion ***・ボタンを増やしてみる #region(クリックして開く) レイアウトにボタンを増やして新しいIDを与えてやる。 プログラムに戻り、新しいボタン変数を作り紐付けを行う。 onClick側でswitch文で判定する。 こんな感じ #hightlight(linanumber, java){{ switch(v.getId()) { case R.id.button01: Toast.makeText(this, "いちばん", Toast.LENGTH_SHORT).show(); break; case R.id.button02: Toast.makeText(this, "にばん", Toast.LENGTH_LONG).show(); break; } }} #endregion