使用ViewOverlay

时间:2017-11-02 19:29:35

标签: android overlay

我想在我的应用程序中发生某个动作时显示动画。此动画将覆盖列表视图。根据我的理解,这应该可以通过ViewOverlay实现,但我正在努力使基础工作目前正常工作。

我尝试的是简单地显示我已经在列表视图上方的矢量drawable。在我的活动onCreate()中,我有以下代码:

Drawable d = getResources().getDrawable(R.drawable.backspace);
d.setBounds(0,0, listview.getMeasuredWidth(), listview.getMeasuredHeight());
listview.getOverlay().add(d);

不应该在列表视图的顶部显示我的drawable吗?对我而言,它没有 - 我错过了什么?

1 个答案:

答案 0 :(得分:0)

解决方案:listview.post(() -> listview.getOverlay().add(d));

onCreate尚未发生布局传递,因此尚未测量您的视图。将叠加操作推迟到post方法中-届时您的视图将被测量,因此您将可以使用正确的值。