我有一个菜单按钮和一个运动类,用于更长的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
答案 0 :(得分:0)
如果您将该样式应用于按钮,则会自动发生按下状态。
您根本不必在代码中手动设置按下状态。