我正在为平板电脑创建一个绘图应用程序,我对如何最好地处理绘图画布感兴趣,这与画面方向的变化有关。绘图程序跟踪用户输入并将它们存储为矢量,由X,Y坐标锚定。
该问题涉及纵向/横向模式中X,Y的不同大小。如果用户具有填充屏幕的画布(减去通知和标题栏),并且在纵向模式下绘制靠近画布底部(例如在320x480屏幕上的点140,460处),则当屏幕被翻转为横向并从中重新创建时我存储的X,Y向量,140,460处的点现在超出了屏幕的界限(因为屏幕现在是480x320)。同样,如果他们在屏幕右边缘附近的景观中绘制点并翻转回肖像,那么这些点将超出界限。
我已经四处寻找解决方案,显而易见的是将屏幕锁定到特定方向。我从Marketplace下载的一些绘图应用程序就是这样处理的。
由于我正在为平板电脑设计这款产品,我希望让用户可以随心所欲地绘制,同时在屏幕边界等方面保持一定的理智。
我曾经/尝试过的想法包括:
我想到了隐藏标题栏,显示通知,允许方向更改的可能性,然后如果屏幕旋转到横向,将画布旋转回肖像,但当导航栏从顶部移动时在横向右侧的肖像画中,我仍然得到相同的X,Y边界问题,只是程度要小得多(通知栏的宽度有效)。
对此解决方案的任何想法?
感谢。
答案 0 :(得分:0)
实现滚动/平移,让绘图表面任意大于父视图的尺寸。然后,无论设备是纵向还是横向,都无关紧要。你只需要一个视图作为绘图表面特定部分的窗口。