【问题标题】:How to override the OnDraw Method?如何覆盖 OnDraw 方法?
【发布时间】:2012-08-25 14:48:11
【问题描述】:

我有一个 OnDraw 方法,它绘制一组矩形[像一个室内地图]。在触摸事件上,一个新的 Activity Intent 被调用。新的活动被调用后,我想知道,如何重绘矩形在 buttonClick 事件上(在地图中显示新路径)。

下面我已经提到了我到目前为止所做的事情。

  • 1.我使用DrawRect()在表面视图上绘制了一张地图
  • 2.然后我捕捉到矩形坐标onTouch事件
  • 3.使用网络服务,我计算到一个位置的最短路径
  • 4.捕捉到触摸的矩形坐标后,我跳转到一个新的活动
  • 5.当我点击新活动上的A按钮时,我想重新绘制我的地图(包括路径)

请告诉我如何覆盖和重绘 On Draw 方法???

谢谢!

【问题讨论】:

    标签: android overriding drawrect ondraw


    【解决方案1】:

    如果我理解正确,我认为您只需要在视图上调用 View.invalidate() 即可使其重新绘制。但是,我对您为什么要切换活动感到困惑。听起来你应该只在 AsyncTask 中调用 web 服务,然后在它的 onPostExecute() 中调用你的视图上的 invalidate() 以使其使用你现在提供的任何数据重新绘制。

    但是,听起来您可能没有真正实现自己的 View 类,而是直接绘制到 surfaceView?我会阅读如何制作自己的 View 子类。真的没那么难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多