Android按钮设置按下不会更改动画
我想滥用一个标准按钮作为切换按钮,但只有当它长按。因此,我首先将默认样式替换为按下、聚焦和默认状态的背景图像Android按钮设置按下不会更改动画,android,button,background,Android,Button,Background,我想滥用一个标准按钮作为切换按钮,但只有当它长按。因此,我首先将默认样式替换为按下、聚焦和默认状态的背景图像 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawa
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/btn_pressed" /> <!-- pressed -->
<item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused -->
<item android:drawable="@drawable/btn_default" /> <!-- default -->
</selector>
如果我长时间单击,按钮不会将其背景更改为按下的状态。我怎样才能一直按着按钮?使用切换按钮不起作用,因为正常的单击操作应该是可能的。如果长时间按下按钮,按钮将被“锁定”
非常感谢所以它终于起作用了。相比之下,这是正确的方法,可以使按钮状态深思熟虑地真实
@Override
public boolean onLongClick(View view) {
final Button btn = (Button) view;
btn.post(new Runnable(
public void run() {
btn.setBackgroungResource(R.drawable.btn_pressed);
}
}
return false;
}
长时间单击替换btn.setPressed(true);使用btn.SetbackgroundResource(R.drawable.btn_按下);非常感谢,它起作用了。我不确定这是否是“干净”的方式,但到目前为止,它给了我想要的结果。
@Override
public boolean onLongClick(View view) {
final Button btn = (Button) view;
btn.post(new Runnable(
public void run() {
btn.setBackgroungResource(R.drawable.btn_pressed);
}
}
return false;
}