2011-01-28 189 views
1

我正在爲平板電腦創建繪圖應用程序,並且對如何最好地處理畫布方向更改的繪圖畫布感興趣。繪圖程序跟蹤用戶輸入並將它們存儲爲矢量,由X,Y座標固定。Android:在畫布上繪圖和旋轉

該問題與縱向/橫向模式下X,Y的大小不同有關。如果用戶具有填充屏幕的畫布(減去通知和標題欄),並且在縱向模式下繪製在畫布底部附近(例如在320x480屏幕上的點140,460處),則當屏幕翻轉到橫向並從我存儲的X,Y向量,140,460點現在超出了屏幕的範圍(因爲屏幕現在是480x320)。同樣,如果他們在靠近屏幕右側邊緣的景觀中繪製點並將其翻轉回肖像,則這些點將超出範圍。

我環顧四周,看到解決這個問題的方法,顯而易見的方法是將屏幕鎖定到特定的方向。我從市場上下載的一些繪圖應用程序以這種方式處理它。

正如我設計這一個平板電腦,我想給用戶的靈活性繪製自己喜歡,又保持一定的理智,當涉及到屏幕範圍等

想法,我「VE不得不/嘗試包括:

  • 鎖定到一個特定的方向 - 好吧,但我不喜歡強迫用戶一定偏好
  • 鎖定到特定的方向,隱藏標題和通知欄,因此用戶只需提出一個大的空白畫布,他們可以使用他們所希望的 - 但討厭通知欄是H. idden

我想過隱藏標題欄,顯示通知,允許方向變化,那麼如果屏幕旋轉爲橫向,旋轉畫布回肖像的可能性,但是,當從導航欄動作會是什麼在景觀的右邊是縱向的,但我仍然得到相同的X,Y邊界問題,只是到了更小的程度(有效地通知欄的寬度)。

有關此解決方案的任何想法?

謝謝。

回答

0

實施滾動/平移,並讓繪圖曲面任意大於父視圖的尺寸。那麼,無論設備是縱向還是橫向都無所謂。您只需將視圖作爲繪圖表面特定部分的窗口。

+0

有趣...任何指針如何創建任意大小的畫布(在我的情況下,畫布是在framelayout內)? – 2011-01-28 20:12:19