如何知道实际显示视图的时间

时间:2011-03-30 14:54:30

标签: android android-layout android-widget android-ui

我有一个显示多个可滚动框架的图库,每个框架都包含一个复杂的布局。 其中一个布局元素是一个类似于仪表的自定义视图,无论何时显示它都应该生成动画 - 而不仅仅是创建。 因此,如果我滚动到包含此视图的布局一次,然后返回,然后再次滚动 - 它应该执行动画,用户应该看到它。

我没有找到适当的回调。我已经尝试过的是压倒一切:

的onDraw

onLayout

onAttachedToWindow

onDisplayHint

onVisibilityChanged

其中一些根本没有被调用,有些只在Gallery重新初始化视图时调用 - 而不是在实际显示时调用。

谢天谢地!

1 个答案:

答案 0 :(得分:1)

您可以尝试在Gallery的适配器上覆盖getView

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    /* trigger your animation on this view */
    return view;
}

调用getView时没有明确的合同,但是当有问题的视图出现在屏幕上时应该调用它。