【发布时间】:2025-12-07 05:40:01
【问题描述】:
我将我的内部 View 类从我的 Main 类拆分到它自己的文件中。在我的主类中,我将视图设置为 onTouchListener,它将用户移动记录到矩阵中,以便它可以转换和缩放视图。分离后一切正常,但我不确定如何将矩阵传递给 View 以供 onDraw 更新。有什么建议么?谢谢
【问题讨论】:
标签: android view matrix surfaceview ondraw
我将我的内部 View 类从我的 Main 类拆分到它自己的文件中。在我的主类中,我将视图设置为 onTouchListener,它将用户移动记录到矩阵中,以便它可以转换和缩放视图。分离后一切正常,但我不确定如何将矩阵传递给 View 以供 onDraw 更新。有什么建议么?谢谢
【问题讨论】:
标签: android view matrix surfaceview ondraw
我可以想到两种方法来做到这一点:
您可以在 View 类中为您的矩阵创建一个变量,并创建一个接受矩阵作为参数并使用此矩阵值更新 var 的方法。然后,您可以在调用 onDraw() 方法之前从主 Activity 调用此方法,然后该方法可以使用此内部 var 进行计算等等。
另一种方法是将主类中的矩阵 var 设为静态,这样您就可以从视图中调用它,而无需在视图类中访问主类的实例。
后一种方法是最好的,因为它不需要您的应用维护两个具有基本相同值的变量,但前一种方法可能更容易实现,具体取决于您的矩阵的计算/实现方式。
【讨论】: