首页 > 解决方案 > 等待 animate().translationY(-600).setDuration(300); 在运行下一行代码之前完成

问题描述

我编写了一些代码,通过向下滑动使我的应用程序中的视图出现,我现在想运行一个额外的动画让它向上滑动,然后将该视图的可见性设置为GONE. 如果我尝试使用以下代码执行此操作,它只会将可见性设置为GONE而不运行动画。

if (!isTopSheetVisible) {
    pageCover.setVisibility(View.VISIBLE);
    topSheet.setVisibility(View.VISIBLE);
    topSheet.setTranslationY(-600);
    topSheet.animate().translationY(0).setDuration(300);
    isTopSheetVisible = true;
} else {
    topSheet.animate().translationY(-600).setDuration(300);
    pageCover.setVisibility(View.GONE);
    topSheet.setVisibility(View.GONE);
    isTopSheetVisible = false;
}

我尝试使用Thread.sleepand设置延迟TimeUnit.sleep,它所做的只是延迟以下代码行,动画仍然无法运行。

标签: javaandroid

解决方案


推荐阅读