2012-09-26 100 views
0

我想學習如何解決這個問題。我想有一個滾動阻塞的水平滾動視圖(用戶不應該能夠滾動它),並且在水平滾動視圖中我想要另一個水平滾動視圖,並且這個滾動視圖必須能夠被用戶滾動(它有更多的內容,即屏幕的寬度)。是否有可能在另一個ScrollView中有一個ScrollView?

是否可以做到這一點?

我試圖在父水平滾動視圖中使用這樣的:

((HorizontalScrollView) view).setHorizontalScrollBarEnabled(false); 
((HorizontalScrollView) view).setEnabled(false); 
((HorizontalScrollView) view).setFocusable(false); 
((HorizontalScrollView) view).setFocusableInTouchMode(false); 

,這對孩子的水平滾動視圖:

((HorizontalScrollView) view).requestFocus(); 

它不工作,孩子似乎有一個滾動酒吧,但它不能滾動。

這怎麼解決?

PD:我知道這不是一個好的做法,但我想學習如何實現這個目標。

+0

如果父捲動視圖的滾動被阻止並且未被啓用且可被聚焦,那麼父滾動視圖的用途是什麼? –

+0

將「Horizo​​ntalScrollView」嵌套​​在父級「Horizo​​ntalScrollView」中,然後防止父級「Horizo​​ntalScrollView」滾動?爲什麼?? –

+0

您無法使用常規視圖來完成此操作。你必須自己做。 – Warpzit

回答

2

因爲ListView控件需要自己的 滾動照顧你不應該使用 Horizo​​ntalScrollView有一個ListView, 。最重要的是,這樣做 這違背所有ListView中的重要 優化用於處理 大名單,因爲它有效地 強制ListView控件來顯示兩個項目的 整個列表,以填補由 Horizo​​ntalScrollView提供的 無限的容器。

http://developer.android.com/reference/android/widget/HorizontalScrollView.html

UPDATE: 

Since you may be forced to use a two dimensional scrollview, you may consider using this: 

http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/

我沒有使用過這一點,但它可能是一個合理的方法。

1

你可以做到。但是您必須在滾動視圖中處理子佈局,例如ScrollView只能託管一個直接孩子。

+0

你能給我一個關於這樣做的代碼的小例子嗎? – NullPointerException

相關問題