android“state_pressed”仅在第二次尝试时起作用

时间:2012-06-20 20:07:25

标签: android

我有一个菜单按钮和一个运动类,用于更长的state_pressed状态(0.5秒)。所以这一切都很好,但是会出现一个问题:

我要先按下我的按钮,state_pressed在第一次不起作用,然后在第二次尝试时我的代码正常工作,state_pressed的工作时间为0.5秒。

如何才能使它在第一次按下时起作用?我认为tehre是hover.xml文件的问题,并与setBackgroundDrawable结合使用?

先谢谢你的帮助!

这是我的hover.XML drawable

<?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

1 个答案:

答案 0 :(得分:0)

如果您将该样式应用于按钮,则会自动发生按下状态。

您根本不必在代码中手动设置按下状态。