我希望通过点击它的行,从右到左/从左到右显示/去掉动画按钮, 这是我将其设置为可见的代码:
button.setVisibility(View.VISIBLE);
TranslateAnimation animate = new TranslateAnimation(button.getWidth(),0,0,0);
animate.setDuration(500);
animate.setFillAfter(true);
button.startAnimation(animate);
并且为了消失:
TranslateAnimation animate = new TranslateAnimation(0,button.getWidth(),0,0);
animate.setDuration(500);
animate.setFillAfter(true);
button.startAnimation(animate);
默认情况下,按钮消失了。这是我第一次单击该行时,按钮已变为可见但没有动画。之后它可以正常工作。为什么第一次动画不起作用?
答案 0 :(得分:0)
在开始动画之前,请致电button.setY(button.getWidth())
以设置其位置。
答案 1 :(得分:0)
您可以使用 Delay 第一次工作
TranslateAnimation animate1 = new TranslateAnimation(
0, // fromXDelta
0, // toXDelta
0, // fromYDelta
binding.saveCardview.getMeasuredHeight()); // toYDelta
animate1.setDuration(500);
animate1.setFillAfter(true);
binding.saveCardview.startAnimation(animate1);
final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 100ms
binding.saveCardview.setVisibility(View.GONE);
}
}, 500);