SurfaceView覆盖

时间:2013-03-20 14:17:20

标签: android view overlay surfaceview

我有一个运行几个线程的surfaceview。其中一个主题是绘制一个surfaceview画布 - 一种动画。 现在我想“覆盖”一个图像(透明) - 出现在surfaceview上方。 这看起来与HTC帮助类似 - 覆盖帮助文本。 其中一个线程将在请求时设置此叠加(并在请求时清除它)。 最简单的方法是什么? 我应该将surfaceview放在另一个ImageView的framelayout中吗? 我必须以编程方式执行此操作。

2 个答案:

答案 0 :(得分:0)

检查这个link的答案..我希望这会有所帮助。另一种方法是创建自己的组件,基于View或基于SurfaceView,但它更高级。

答案 1 :(得分:0)

我添加了一个ImageView组件并设置/删除" overlay"根据需要从表面线程的图像。它有效,但我不喜欢"时间"解决方案 - 此叠加层应该会延迟弹出并在一段时间后自动将其自动删除。

我所做的是:

表面线程中的某个地方:

if (condition) {
    postDelayed(new Runnable() {

        // set overlay image

        postDelayed(new Runnable(){

            // remove overlay image

        }, hideDelay);

    }, showDelay);
}

我不喜欢这个嵌套的postDelayed。 我试过使用睡眠,但它只是没有工作,因为我已经尝试过了=>覆盖图像视图在睡眠用完之前不会失效(也尝试手动调用无效)。

对此有什么想法吗?