2014年12月6日土曜日

小さいButtonを作る

先回紹介したアプリの機能を追加したくなりButtonを小さくしようとしましたが、
setWidth、setHightでは小さくなりません。Buttonを諦めてTextViewで作りました。
こんな感じです、forで回してるのでいくつでも同じものが作れます。
      cmd[i] = new TextView(this);
      cmd[i].setWidth(90);
      cmd[i].setHeight(70);
      cmd[i].setTextSize(16);
      cmd[i].setGravity(Gravity.CENTER);
      cmd[i].setBackgroundResource(R.drawable.boaderew);
      sws.addView(cmd[i]);
先回どおりdrawbleの枠を描画してButton風に見せてます。

一つ困ったのはButtonをクリックしても色が変わらないことです。
そこで色違いの枠を描画することにしました。
  solid android:color="#cceeff" />
    stroke android:width="3px" android:color="#FFFFFF" />
がクリックを表す水色
  solid android:color="#CCCCCC" />
    stroke android:width="3px" android:color="#FFFFFF" />
は通常のグレー

クリック時の動作の中身の、前に水色、後にグレーと色変りをつけてみましたが
  class 名前 implements OnClickListener {
public void onClick(View v) {
の中では前後関係が不確定です。
仕方なく回避策で、onClickの中身は色変えとフラグ立てだけにして、本体は別メソッドで
動作の起動はタイマーの中で行い、動作が終わったら枠内の色を戻す。

で何とか小さいButtonができました。
ところが、指先は小さくできないので、過ぎたるは及ばざるが、です。