gpt4 book ai didi

java - 如何为 ImageView 创建重复的 onClick 动画?

转载 作者:行者123 更新时间:2023-12-02 11:31:28 25 4
gpt4 key购买 nike

我下面的代码按照预期的方式为 ImageView 制作动画。问题是它不重复。 (表情符号是一个 ImageView)

它当前的作用:当 Activity 开始时,表情符号在屏幕上可见。单击屏幕时它会向上滑动,然后消失(正如它应该的那样)。

问题 1:我不希望表情符号在 Activity 开始时可见。

问题2:onClick 只能运行一次。第一次点击后,表情符号将不会再次显示。

ConstraintLayout mLayout = findViewById(R.id.constraintLayout);
mLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
emojiPopup();
}
});

public void emojiPopup() {
final ImageView emojiFace = findViewById(R.id.face);
emojiFace.animate().translationY(-200).alpha(1.0f).setDuration(500).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
emojiFace.setVisibility(GONE);
}
});
}

每次我点击屏幕时,public void onClick(View view) {emojiPopup();} 都会发生,为什么它只在第一次点击时起作用?

也许我采取了错误的方法,或者我没有看到明显的东西,谁能告诉我我做错了什么?

最佳答案

问题1

OnCreate() 方法中将 ImageView 设置为 INVISIBLE。

问题2

第一个动画结束后,您将其可见性设置为“GONE”,此后您再也不会将其设置为“VISIBLE”,这就是为什么在第一个动画之后您永远看不到它。因此,在 emojiPopup() 方法开始时,首先将其设置为 VISIBLE,然后设置动画并隐藏它。

关于java - 如何为 ImageView 创建重复的 onClick 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49268089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com