Сейчас я делаю простой анимированный выпадающий список, и я столкнулся с проблемой.
Когда я нажимаю кнопку, вид сдвигается вниз, как и кнопка. Кнопка остается в том же месте (внизу обзора), что хорошо. Однако onClickListener для кнопки не перемещается вместе с ней.
Например, если моя кнопка находится в верхней части макета, я нажимаю на нее, она выдвигается на 50, но onClickListener остается наверху.
Нажатие кнопки
public void onSlideViewButtonClick(View view) {
if (isUp) {
slideUp(myView);
slideUpButton(myButton);
myButton.setText("Slide down");
} else {
slideDown(myView);
slideDownButton(myButton);
myButton.setText("Slide up");
}
isUp = !isUp;
}
Анимации для кнопок.
// slide the view from below itself to the current position
public void slideDownButton(View view){
view.setVisibility(View.VISIBLE);
TranslateAnimation animate = new TranslateAnimation(
0, // fromXDelta
0, // toXDelta
0, // fromYDelta
view.getHeight()); // toYDelta
animate.setDuration(500);
animate.setFillAfter(true);
view.startAnimation(animate);
}
// slide the view from its current position to below itself
public void slideUpButton(View view){
TranslateAnimation animate = new TranslateAnimation(
0, // fromXDelta
0, // toXDelta
view.getHeight(), // fromYDelta
0); // toYDelta
animate.setDuration(500);
animate.setFillAfter(true);
view.startAnimation(animate);
}
Как я могу заставить onClick следовать за кнопкой (если это имеет смысл)?