Я создал пользовательскую кнопку в своем приложении для Android, которая в основном имеет два разных вида. Существует изображение для случая, когда кнопка не нажимается, и другое изображение для использования во время ее нажатия. Ниже показано, как я реализовал кнопку и как она реагирует на действия пользователя.
private void registerListeners() {
calcButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
calcButton.requestFocusFromTouch();
calcButton.setImageResource(R.drawable.calc_button_pressed);
return false;
}
});
calcButton.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
calcButton.setImageResource(R.drawable.calc_button_not_pressed);
}
});
calcButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mathCalculation();
calcButton.setImageResource(R.drawable.calc_button_not_pressed);
}
});
}
Моя проблема заключается в том, что существует «ошибка», при которой, если пользователь касается кнопки и перетаскивает свою фигуру с кнопки, кнопка остается нажатой. Одна из работ, которые я реализовал выше, это "setOnFocusChangeListener", поэтому, как только пользователь выберет что-то еще, он снова появится.
Я хочу, чтобы кнопка выскочила обратно, когда пользователь перетаскивает прикосновение к кнопке.
Все предложения приветствуются !!!
Спасибо,