問題是,我想以編程方式將TAGS(如帖子底部的那些標籤)添加到我的屏幕視圖中。數量將是未知數,但在10範圍內可以說。我知道我可以使用水平列表視圖,但我不知道如何以及是否可以將不合適的標籤包裝到下一行。我不認爲這是可能的。接下來,使用Gridview是一個選項,但是如何爲每個標籤分配水平空間(如果它們具有不同的長度)呢?是否有任何方法可以在不知道數量的情況下連續列出它們並動態地將它們包裝到「下一行」?Android根據其大小動態列出行中的項目
0
A
回答
1
最近我不得不裸露類似於你問的東西。我最終決定使用TableView
,並動態構建TableRow
。這看起來不錯,直到我遇到了如何知道何時將新項目添加到現有的TableRow
或將該行添加到TableView
並開始新的項目的問題。
一種解決方法(有的甚至可以稱之爲黑客攻擊),我特別不喜歡,但工作原理是如下:措施屏幕的寬度,使用這樣的代碼:
final Display display = getWindowManager().getDefaultDisplay();
final Point size = new Point();
display.getSize(size);
final WindowManager.LayoutParams params = getWindow().getAttributes();
你」您將能夠在params.width
參數內獲得屏幕寬度。我刪除了0.95
而不是嚴格適合行,主要是因爲它可能工作不正確。
所以現在,你需要有一個循環來處理你想要添加的所有項目,讓我們假設它們是TextView
s。保持已添加的寬度的數量,如果新項目的寬度超過寬度,請將其添加到下一行。
totalwidth = 0;
for (TextView tv : myTVitems) {
if (totalwidth + tv.getWidth() < parameters.width * 0.95) {
// Add it to the existing row
totalwidth += tv.getWidth();
}
else {
// Add the `TableRow` to the `TableView` and start a new `TableRow`
totalwidth = 0;
}
}
我從內存中寫這個,所以沒有任何明確的轉換就不能編譯,但這就是主意。
相關問題
- 1. Gridview項目動態寬度根據UWP中的屏幕大小
- 2. ImageView根據android中的圖像大小動態調整大小
- 3. 根據屏幕大小的表格佈局中的動態行和列Android
- 4. WPF:根據列表框的項目動態更改列表框的ItemTemplate項目大小
- 5. 根據文件大小動態分配大小爲陣列 - C
- 6. 層列表中的Android項目大小
- 7. 根據Android中的屏幕大小動態添加視圖
- 8. 如何根據WPF中ListView中最大項的大小對動態調整大小的GridViewColumn進行縮放?
- 9. 如何使QListView根據編輯器大小調整其項目的大小
- 10. 根據其他控件動態調整DataGrid的大小
- 11. 根據其內容動態調整iframe的大小
- 12. 的出列不同大小的「項目」
- 13. 根據其內容大小動態調整模式對話框
- 14. 動態HTML行,其中包含與動態行級聯的列表項目
- 15. iOS/Swift:當其中一個項目變大時動態調整UIStackView的大小
- 16. 根據內容大小動態增加Android列表視圖中單元格的大小?
- 17. 根據浮動條目的大小拆分列表
- 18. 根據圖像大小調整內容大小動態加載
- 19. JavaFx元素,根據窗口大小動態更改大小
- 20. 根據其他列表的項目刪除列表中的項目
- 21. 基於列表大小WP8動態數量的全景項目
- 22. 動態列大小
- 23. 根據窗口大小動態地排列對象ExtJs
- 24. HighCharts - 根據列大小動態顯示標籤
- 25. 根據內容大小動態調整div動態高度並調整其大小
- 26. 根據列表視圖中的項目調整圖像的大小
- 27. 如何根據數據庫中的條目在android中生成動態列表
- 28. 根據項目的第一個字母列出項目
- 29. 根據其內容的div大小
- 30. 動態大小的陣列
我假設,例如從錶行中刪除項目,我只是重申內容重繪更新的版本? –
使用這種方法,您不需要刪除任何內容,在決定是將它添加到當前行還是通過將其添加到表中並開始填充新行來完成它的每一步中。但是,您可以在需要時刪除它。 – nKn