这可能已经被问过,但我找不到它。
所以我在android中创建了一个带有普通图像和“按下”图像的自定义按钮。唯一的问题是,当我按下手机上的按钮时,按下我的手指离开图像并松开,按钮图像保持按下而不是恢复到正常的未按下图像。默认的android按钮被格式化,以便当您执行此“拖动”事件时,只要您的手指离开按钮的尺寸,该按钮就会恢复正常。
main.java:
but1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
but1.setBackgroundResource(R.drawable.bluewhiteplainpressed);
return false;
}
});
but1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!but1.isActivated()){
but1.setBackgroundResource(R.drawable.bluewhiteplain);
menu.xml中的按钮代码:
<Button
android:id="@+id/button1pos"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bluewhiteplain"
/>
答案 0 :(得分:0)
删除OnTouchListener并将可绘制的选择器放在后台按钮中。
答案 1 :(得分:0)
您可以为此制作自定义可绘制选择器。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:drawable="@drawable/cell_top_selected" />
<item android:drawable="@drawable/cell_top" />
</selector>