Android制御ボタンの各状態のスタイル

3244 ワード

ボタンを定義するときにandroid:backgroundプロパティがあり、通常は「@drawable/ic_launcher」や「#36 f」などの画像や色を直接指定しますが、このように指定すると、ボタンがクリックで変わることはありません~~
では、どうやってもっと細かくボタンのスタイルをコントロールするのか~~
ここでは、ボタンだけでなく~~
Android:backgroundプロパティxmlファイルを指定できます:android:background="@drawable/buttonstyle"もちろんdrawableフォルダの下にbuttonstyleを作成します.xmlファイル.ファイルの書き方はネット上にもいくつかあります~私は使えないものをすべて削除しました.
   
     
       
       
       
       

上の1つには4つのandroidが含まれています.drawableプロパティは、1つのピクチャまたは1つの色を指定できます.ポイントは~後の2つの属性:android:state_focused-フォーカスandroid:state_pressed--押さえられているかどうか
この2つの属性について、私もネットでいくつかの資料を調べたことがあります.千編一律で、はっきり言えません.入ってみてやっと知っています.実は簡単です.
="@color/c6"android:state_focused="false"android:state_pressed=「false」/>フォーカスでも押されていない場合、c 6という色が表示されます
android:drawable="@color/c1"android:state_focused="true"android:state_pressed=「false」/>フォーカスで押されていない場合、c 1という色が表示されます
="@color/c2"android:state_focused="true"android:state_pressed=「true」/>フォーカスで同時に押された場合、c 2という色が表示されます
="@color/c3"android:state_focused="false"android:state_pressed=「true」/>フォーカスではないのに押された場合、c 3という色が表示されます
これを見ると難解な人もいると思いますが、焦点ではありませんが、押されているという状態になりますか?焦点は何ですか.最初は私も疑問に思っていました.私はME 525を使っていたので、全タッチでコントロールしていましたが、焦点は方向キーやローラーでコントロールしているときにしか現れません.手で直接このボタンをクリックすると、直接押した状態に入ります.押した状態はtrueですが、焦点の状態はfalseです.方向キーで操作すると、ボタンを押すには、まずカーソルをボタンに移動しなければなりません.このとき、ボタンの焦点状態はtrueで、状態のfalseを押します.このとき確定キーで押すと、彼の焦点状態は依然としてtrueであり、押す状態はtrueになる.
以上のようなデザインは、実は携帯電話の操作を考慮した2つのモードで、1つは普通のモードで、1つはタッチモードです.普通のモードは先に選択して、更に押すキーボードの操作です;タッチモードは手で直接クリックするモードで、このモードではボタンの焦点状態は常にfalseで、(テキストボックスがそうなるかどうか分かりません~~~)
もう一つ注目すべきは、システムの動作メカニズムが上から下まで適切な状態に一致し、色を適用し、その後は一致しない~ネット上ではこのように書くことができると言われています.





これは実はだめで、結果テストして、ボタンがずっとc 6色であることを発見しました.次の順序に変更すると正常になります.




後ろの2つの状態の条件を付けないと、システムは毎回無条件にこれを通過し、1位になると、後ろの条件は無視されるから~~この順序の変更は、上から下へ順番に一致するごとに動作メカニズムであることを証明した~~
これらを知って、コントロールすると格別に手応えがあります~~