2011-04-26 82 views
0

我有一個列表視圖,其中有3-4個textviews。我正在使用BaseAdapter方式來充氣xml。所有的文字瀏覽都是單行的。我想使textview水平滾動。我試圖把TextView放在Horizo​​ntalScrollview裏面。那麼,它確實滾動了textview,但是我無法獲得listview的click事件。在Android的listview中的水平滾動Textview?

是否有任何其他方式可以使textview水平滾動?

回答

4

我能夠通過將此線添加到xml文件android:descendantFocusability =「blocksDescendants」中的第一個RelativeLayout來解決此問題。以這種方式,沒有孩子會有焦點,所以水平滾動條也可以工作,並且listview項目點擊也可以。它爲我工作。無論如何,謝謝大家。

+1

你對我也面臨同樣的問題,並通過您的答案解決它.... android:descendantFocusability =「blocksDescendants」 – 2011-07-19 08:59:08

0

AFAIK有沒有簡單的方法來做到這一點。

問題是滾動視圖消耗所有觸摸事件。要解決這個問題,應該確保水平滾動視圖只消耗「水平」移動事件。

首先你應該實現你自己的滾動視圖。然後重寫該視圖的onTouchEvent(),以便它僅使用「水平多於垂直」的手勢,併爲列表視圖留下「垂直」手勢。

0

您可以嘗試使用TextView類的ellipsize屬性。如果將其設置爲marquee,則文本在聚焦時應自動滾動。

+0

我已經完成了這個過去,它工作正常。但是,它不會像OP想要的那樣讓用戶控制文本。 – harmanjd 2011-04-26 13:50:20

+0

好的。我認爲使用ListView中的ScrollView獲得良好的用戶體驗非常困難。但是當你解決這個問題時,我對你的解決方案很感興趣。 – Flo 2011-04-26 13:54:35

0

爲什麼沒有人使用TextView.setMovementMethod(ScrollingMovementMethod.getInstance())android:scrollHorisontally="true"