2010-10-12 86 views

回答

0

創建一個ScrollView,然後在這裏放置一個Horizo​​ntalScrollView。現在這將表現爲具有垂直和水平滾動屬性的對象。

+0

但是,用戶體驗將會非常糟糕。但在功能方面,這個解決方案確實有效。 – 2011-10-24 01:03:09

1

有水平滾動視圖和垂直滾動視圖的基類,但沒有一個可以同時在兩個維度上滾動的基類。

我發現了這個博客,其中Matt Clark創建了一個新的TwoDScrollView類。

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

+0

我認爲我已經讀過它,它很好。但你如何顯示網格?每個單元應該是可選的和可更新的。你將如何實現它們?我不認爲GridView會工作,因爲它不會水平滾動。 – 2011-12-30 08:09:29

+0

你見過謂語佈局嗎? http://stackoverflow.com/questions/549451/line-breaking-widget-layout-for-android你可以將它與TwoDScrollView用於你的目的。 – 2011-12-30 09:19:44

+0

好的。我可以看到TwoDScrollView中的謂詞佈局。但是有三個問題。一個大問題是謂詞佈局顯示單行中的元素,無論我嘗試使用佈局的寬度和高度。另一個問題是,將1000個項目加載到謂詞佈局中非常緩慢(10-20秒)。最後一個問題是我必須在佈局XML中指定TwoDScrollView的直接子佈局的大小。這當然不會在實踐中起作用。你之前嘗試過嗎?如果是這樣,你可以分享你的XML佈局嗎? – 2011-12-30 17:17:05

0

我知道GridView中並不流行你的目的。但它仍然讓我們更容易構建像UI這樣的電子表格。

正如你所說,GridView控件本身不是水平滾動,並說500

但我認爲你想嘗試什麼是修復GridView控件的大小將是如果控制在GridView數量超過極爲緩慢是將顯示給定矩形區域的數據並覆蓋其觸摸事件以模擬滾動操作。感謝基礎適配器和gridview的其他技術,你的工作將是最小的。

這樣的方法的很好的例子是Dennis's work

+0

我也這樣傾斜。 – 2011-12-31 04:34:05

0

僞碼

有一個TableLayout一個滾動視圖內!!!

如何填充它 - >

For each row in spreadsheet TableRow tr = new TableRow() For each cell in row //Create a textview.// TextView trCell = new TextView() //Set TextView text, get text from spreadsheet current cell.// trCell.setText(cell.textvalue) tr.addview(trCell) } tableLayout.addView(tr) //Add tablerow to the tablelayout.// }

由於表是在滾動視圖,如果表中的行延伸滾動視圖的長度,滾動條將出現。

如果您需要更多信息,我會發布我的確切代碼。如果你仍然無法得到它,那麼我把全班上傳到GitHub。