0

1 つのメニュー ボタンと、より長い state_pressed 状態 (0.5 秒) のモーション クラスがあります。長い間すべて正常に動作しますが、1 つの問題が発生します。

私はボタンを初めて押す必要があります.state_pressedはこの最初は機能しません.2回目の試行ではコードが正しく機能し、state_pressedは0,5秒の期間で機能します.

最初のプレスで動作するようにするにはどうすればよいですか? hover.xmlファイルとsetBackgroundDrawableとの組み合わせに問題があると思いますか?

助けてくれてありがとう!

これは私の hover.XML ドローアブルです

<?xml version="1.0" encoding="utf-8"?>

<item android:state_focused="false" 
      android:state_pressed="true" 
      android:drawable="@drawable/buttonstyle_pressed" />

<item android:drawable="@drawable/buttonstyle" />

そして、これは私のJavaコードです

    Button menubutton_start;

    menubutton_start = (Button) FindViewById(R.id.menustart);


 menubutton_start.setOnClickListener(new View.OnClickListener() {

 public void onClick(View v) {     

  menubutton_start.setBackgroundDrawable(getResources().getDrawable(R.drawable.hover));


   final Handler handler = new Handler();            

        handler.postDelayed(new Runnable() {

              public void run() {

               Intent myIntent = new Intent(GameActivity.this, NextActivity.class);
               GameActivity.this.startActivity(myIntent);

                    }

                }, 500);  // end of Handler new Runnable()


    }  // end of OnClick()


});  // end of setOnClickListener
4

1 に答える 1

0

そのスタイルをボタンに適用すると、押された状態が自動的に発生します。

コードで押された状態を手動で設定する必要はまったくありません。

于 2012-06-20T20:30:02.780 に答える