3 回答

TA貢獻1799條經驗 獲得超8個贊
我認為這會對您有所幫助:
所以像這樣在 onClickListener 中使用:
image1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
image1.setVisibility(View.GONE);
//Animation...
image2.setVisibility(View.VISIBLE);
}
});

TA貢獻1829條經驗 獲得超6個贊
你永遠不會告訴image1.setImageResource(R.drawable.cat2);等待 2000 毫秒然后執行,所以 image2 一點擊它就出現了。
解決方案:image1.setImageResource(R.drawable.cat2); 2000ms后 調用
new Handler().postDelayed(() -> {
image1.setImageResource(R.drawable.cat2);
}, 2000);
這可能會有所幫助。

TA貢獻1848條經驗 獲得超10個贊
動畫在您的代碼中是異步的——它不會阻塞/等待,而是啟動動畫(或者更確切地說,將要啟動的動畫排隊),然后立即執行設置圖像的下一行。如果您想在動畫完成后更新您的圖像,您可以使用withEndAction并提供回調。
image1.animate()
.alpha(0f)
.setDuration(2000)
.withEndAction(new Runnable() {
@Override
public void run() {
image1.setImageResource(R.drawable.cat2);
}
})
.start();
添加回答
舉報