我正在为平板电脑创建一个绘图应用程序,并且对如何最好地处理与屏幕方向更改相关的绘图画布感兴趣。绘图程序跟踪用户输入并将它们存储为向量,由 X、Y 坐标锚定。
该问题与纵向/横向模式下 X、Y 的不同大小有关。如果用户有一个填满屏幕的画布(减去通知栏和标题栏),并且在纵向模式下在画布底部附近绘制(比如在 320x480 屏幕上的点 140,460 处),当屏幕翻转为横向并从我存储的 X,Y 向量,140,460 处的点现在超出了屏幕的范围(因为屏幕现在是 480x320)。同样,如果他们在靠近屏幕右侧边缘的横向画点并翻转回纵向,这些点将超出边界。
我已经查看了解决方案,显而易见的一个似乎是将屏幕简单地锁定到特定方向。我从 Marketplace 下载的许多绘图应用程序都是这样处理的。
当我为平板电脑设计这个时,我想让用户可以灵活地随意绘制,但在屏幕边界等方面保持一些理智。
我曾经/尝试过的想法包括:
- 锁定到特定方向 - 好的,但讨厌强迫用户选择特定的偏好
- 锁定到特定方向并隐藏标题和通知栏,因此用户只看到一个大的空白画布,他们可以随意使用 - 但讨厌通知栏被隐藏
我考虑过隐藏标题栏、显示通知、允许更改方向,然后如果屏幕旋转为横向,将画布旋转回纵向,但是当导航栏从纵向顶部移动到在横向的右侧,我仍然遇到相同的 X、Y 边界问题,只是程度要小得多(有效通知栏的宽度)。
对此有任何解决方案的想法吗?
谢谢。