2011-06-15 22 views
0

在我的情況下,我有RelativeLayout其中包含許多EditText框和它們之間的線。 我現在需要的是讓縮放工作。我搜索了很多(天),我還沒有找到答案如何做到這一點。如何使用縮放來處理RelativeLayout? - Android

首先,它是最簡單的我們所有的人,如果我有幾個問題入手,讓:

  1. 是真的「雙指縮放」只支持ImageView, MapView and WebView
  2. 是否有可能在RelativeLayout上獲得任何有趣的縮放工作? (我知道一個和imo最後的選擇是使用按鈕和多個所有大小的值和/或重構整個「查看」每次按下按鈕時)
  3. 如果有可能使工作無論如何比上述更容易,我會愛上聽聽它應該如何完成。

編輯:我試圖使用動畫,並有一些規模工作得很好,但唯一的和致命的問題是,EditTextBoxe的觸摸範圍沒有縮放..甚至移動,所以他們是原始位置和大小。這個有什麼建議嗎?

回答

1

RelativelyLayout甚至沒有放大。或滾動。你正在尋找錯誤的地方。你需要把你的視圖層次結構放在一個容器中。如果要進行縮放,將會非常棘手,因爲容器需要將縮放因子應用於繪圖和觸摸事件。

+0

你有什麼建議我應該用嗎?什麼容器有縮放和同時它可以正確處理editText框上的縮放? – lehtu 2011-06-20 20:09:17

+1

平臺中沒有實現捏放大的標準容器。你需要自己實現這個。通常,執行此操作的應用程序(瀏覽器,地圖,圖庫)具有自己的自定義視圖,在該視圖中,他們執行所有繪圖,因此縮放縮放與該視圖的自定義渲染和事件處理密切相關。您可以嘗試在ViewGroup容器中進行一些通用操作,該容器將Canvas和MotionEvent的2d轉換應用到其子項,儘管我不知道這可能會有多麼令人滿意。 – hackbod 2011-06-23 13:39:33

0

如果你還沒有看過幾個實現,你應該看看http://code.google.com/p/android-pinch/source/browse/#svn%2Ftrunk%2Fsrc%2Fcom%2Fnikkoaiello%2Fmobile%2Fandroid%253Fstate%253Dclosed:我知道你是對的,而這3個是唯一的視圖,對於這個視圖有一些本地支持的縮放比喻。

只要沒有更多關於您正在使用的動畫的知識的邊界看起來是一個常見問題:覆蓋動畫並設置http://developer.android.com/reference/android/view/animation/Animation.html#willChangeBounds%28%29以任何方式返回真正的幫助?

+0

對於第一個,我認爲這樣的事情..第二個,我不知道那是什麼..必須嘗試它謝謝! – lehtu 2011-06-20 20:13:30

相關問題