【问题标题】:SurfaceView overlaySurfaceView 覆盖
【发布时间】:2013-03-20 14:17:19
【问题描述】:

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

【问题讨论】:

    标签: android view overlay surfaceview


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我添加了一个 ImageView 组件并根据需要从表面线程中设置/删除“覆盖”图像。它可以工作,但我不喜欢“定时”解决方案——这个叠加层应该会延迟弹出并在一段时间后自动将其删除。

      我所做的是:

      表面螺纹中的某处:

      if (condition) {
          postDelayed(new Runnable() {
      
              // set overlay image
      
              postDelayed(new Runnable(){
      
                  // remove overlay image
      
              }, hideDelay);
      
          }, showDelay);
      }
      

      我不喜欢这种嵌套的 postDelayed。 我尝试使用睡眠,但它无法正常工作,因为我会期望 => 覆盖图像视图在睡眠用完之前不会失效(也尝试手动调用 invalide)。

      对这个有什么想法吗?

      【讨论】:

        猜你喜欢
        • 2011-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-02
        • 1970-01-01
        • 2011-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多