0
我正在試圖製作一個ScrollView,其中包含一個用戶可以從中選擇的數字列表。在用戶觸摸並滾動後,手指擡起後,我希望滾動「捕捉」到ScrollView中間的項目並給我輸出。我的ScrollView包含一個帶有TextView對象的垂直線性佈局。 ScrollView的垂直尺寸約爲60sp。如何在觸摸後更改ScrollView的位置?
我認爲這將涉及與ACTION_UP ScrollView.onTouch,但我不知道如何使用它。此外,有沒有辦法根據列表中的某個位置獲取項目的索引或值?
謝謝!
現在我正在做的是製作一個帶有linearLayout作爲其子的ScrollView。 LinearLayout裏面有一堆數字(100,125,150 ... 1000)。用戶將觸摸他的手指並拖動,直到所需的號碼在中間(或最近)。手指被移除後,ACTION_UP,最接近中間的數字將被精確地鎖定到中間(通過smoothScrollTo方式),中間數字將被選中和使用。這就是我想要做的。 – Matt 2010-06-18 00:52:05
我現在有這樣的工作。我在做的是1)ACTION_UP我用.getScrollY()獲取ScrollView的當前位置。 2)我使用一些數學來獲得所需的滾動位置:((int)Math.round(posY/20)* 20)+ 10.注意數字20是項目之間的近似距離,10是中間的偏移。 3)我使用smoothScroll移動。 4)我用一些數學來計算列表中位於中間位置的數字。 5)我得到文本視圖與(TextView)findViewById(R.id.(listview.getChildAt(x).getId()))。 6)我將文本轉換爲int。 – Matt 2010-06-18 01:02:01
很高興你有它的工作..是否有你不想使用ListView的原因?它看起來更適合你的情況比scrollView。另外,你是否依賴像素數學呢?請記住,不同的手機有不同的分辨率,因此可能會出現問題。 – 2010-06-18 16:52:02