0

我有一个菜单按钮和一个动作类,用于更长的 state_pressed 状态(0,5 秒)。这么久一切正常,但出现了一个问题:

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

我怎样才能让它在第一次印刷机上工作?我认为 tehre 是 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 回答