立即更改子视图可见性时更新android视图

时间:2014-02-16 17:57:33

标签: android

我有一个观点,那就是RelativeLayout。在该布局中,有一个图像,默认情况下可见性设置为不变。我想要实现的是以可编程方式将可见性更改为可见,然后创建视图快照,将其绘制到画布。

    View icon = v.findViewById(android.R.id.icon2);
    if (icon != null) {
        icon.setVisibility(View.VISIBLE);
        v.invalidate();
        v.forceLayout();
        icon.invalidate();
        icon.refreshDrawableState();
    }

...

    v.setDrawingCacheEnabled(true);
    mFloatBitmap = Bitmap.createBitmap(v.getDrawingCache());
    v.setDrawingCacheEnabled(false);

生成的位图不包含更改icon.setVisibility(View.VISIBLE);。我应该如何立即使视图无效?我在icon.setVisibility(View.VISIBLE);之后使用的方法都没有用。

1 个答案:

答案 0 :(得分:0)

直到它经过onMeasure和onDraw之后才会真正显现。直到onMeasure它才知道它的高度,直到onDraw它没有缓存。在抽奖发生后你将不得不这样做。没有办法让它立即发生。