java - 等待 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.sleep
and设置延迟TimeUnit.sleep
,它所做的只是延迟以下代码行,动画仍然无法运行。
解决方案
推荐阅读
- json - 无法从 Elixir/phoenix 中的 Ecto DB 返回 Repo.All
- chicken-scheme - 如何从鸡计划中调用 C 回调
- python - 如何从 Python 中的字节中取回列表?
- python - 如何在我的代码中正确使用替换功能?
- python - 无法在 macOS 上的 ipython3 中创建多行语句块
- node.js - 通过(官方 Shipify API)在 Shopify 中跟踪超卖商品
- java - 在 Java 中创建所有 NON DISTINCT 值子集的多集
- dart - 如何向用户询问回调函数
- azure - 如何有条件地在 ARM 模板中包含dependOn
- javascript - 你如何访问 react-id-swiper 活动幻灯片 ID?