【问题标题】:Android - dragging imageview with finger does not update positionAndroid - 用手指拖动图像视图不会更新位置
【发布时间】:2011-03-15 23:56:38
【问题描述】:

我正在使用框架布局和顶部/左侧边距组合在屏幕上拖动图像视图。我在 imageview 的 setOnTouchListener() 中添加了所有代码。问题是 UI 没有在 MotionEvent.ACTION_MOVE 上重新绘制,我只在收到 MotionEvent.ACTION_UP 时看到更新。如何强制视图在 MotionEvent.ACTION_MOVE 的新位置重绘图像?

【问题讨论】:

    标签: android touch imageview


    【解决方案1】:

    您想使视图无效。如果您可以获取 ImageView 调用 getParent() 然后在父级上无效并且应该强制重绘。

    ((View)v.getParent()).invalidate();
    

    【讨论】:

    • 是的,我也是这么想的,但是没有用。我实际上通过 id 找到了包含此 imageview 的框架布局,并在其上调用了 invalidate。到目前为止,唯一可行的解​​决方案是将 imageBitmap 重新分配给 imageview,但这听起来太蹩脚,无法成为永久解决方案。
    • +1 非常感谢,我遇到了类似的问题,这个解决方案对我有用。问题是为什么?这是Android中的错误吗? imageView.invalidate() 不应该足以重绘图像吗?同样有趣的是,在我的情况下,裸露的imageView.invalidate() 足以在 Android 2.3 中重绘视图,但在 Android 4.0 中则不然。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多