我想在android listview中繪製一些章節標題,就像聯繫人應用程序一樣。 當列表視圖被拖動時,節標題將平穩移動,謝謝。如何在android listview中像ios的UITableview一樣繪製節頭?
回答
看看這個Android – Sectioned Headers in ListViews的例子,它很好地描述瞭如何在ListViews中實現分段頭。
而且
Jeff Sharkey's SeparatedListAdapter
感謝。
我發現在Android的一些例子可以解決這個issuse: 請找到PinnedHeaderListView PinnedHeaderListView Example
創建您的列表項目佈局一個頭佈局的例子。我們使用VISIBILITY選項來顯示和隱藏HEADER LAYOUT。這將像節標題。
在適配器「getView」方法中,使用前一個LIST ITEMS「名稱字段」的第一個字母檢查「名稱字段(在您顯示的名稱符合的情況下)」的第一個字母。如果它隱藏了HEADER LAYOUT(帶有文本視圖),那麼用標題文本顯示HEADER LAYOUT並顯示名稱字段的第一個字母。
這裏是代碼
String nameFirstLetter =「A」; //全局聲明,而不是在getView中。
//裏面的getView String nameF = Name.slice(0,1);
if(!nameFirstLetter.equals(nameF)){
nameFirstLetter = nameF ;
holder.headerText.setText(nameFirstLetter);
holder.headerLayout.setVisibility(View.VISIBLE);
}else{
holder.headerLayout.setVisibility(View.GONE);
}
這是爲了顯示Android的列表視圖節頭中的最簡單的方法,但它不會像iPhone節頭,即工作。當我們向上/向下滾動時,部分標題會與其他列表項目一起隱藏。
如果列表項是可點擊的,這會使標題可點擊。特別是現代Android中的漣漪,現在對用戶來說是非常明顯的。 –
如果任何人需要不同的解決方案,尤其是那些更習慣於iOS開發的解決方案,更喜歡它,或者想模擬iOS外觀;我提出以下建議:
http://applidium.com/en/news/headerlistview_for_android/
的邏輯是一樣的iOS和執行大部分的腿工作,爲您
如果你去他們的github回購,該項目已被標記爲不推薦使用:https://github.com/applidium/HeaderListView – ThomasW
你可以看看到SectionedMergeAdapter。如果您有多個數據子列表,您可以將它們拼接在一起併爲它們設置標題。
示例代碼 -
ListView listView = (ListView) findViewById(android.R.id.list);
ArrayAdapter<Integer> adapter1 =
new ArrayAdapter<>(this, R.layout.item_list, android.R.id.text1, arrayList1);
ArrayAdapter<Integer> adapter2 =
new ArrayAdapter<>(this, R.layout.item_list, android.R.id.text1, arrayList2);
ArrayAdapter<Integer> adapter3 =
new ArrayAdapter<>(this, R.layout.item_list, android.R.id.text1, arrayList3);
TextView tv1 = new TextView(this);
tv1.setText("Header 1");
TextView tv2 = new TextView(this);
tv2.setText("Header 2");
TextView tv3 = new TextView(this);
tv3.setText("Header 3");
SectionedMergeAdapter adapter = new SectionedMergeAdapter();
adapter.addSection(new SectionedMergeAdapter.Section(tv1, adapter1));
adapter.addSection(new SectionedMergeAdapter.Section(tv2, adapter2));
adapter.addSection(new SectionedMergeAdapter.Section(tv3, adapter3));
listView.setAdapter(adapter);
- 1. UITableView節頭iOS 5
- 2. UITableView/ListView iOS與Android
- 3. Android ListView Like iOS UITableView
- 4. 如何在NSButtons(深度)中繪製像NSImage一樣的圖像?
- 5. 如何在android中繪製像這樣的形狀?
- 6. 實現像UITableView這樣的頭像
- 7. 像Web.Application中的Feature一樣繪製?
- 8. 如何更改按鈕圖像添加到UITableView的節頭在IOS
- 9. 如何繪製一個像樣的圓環在Java中
- 10. 在android中繪製箭頭頭
- 11. 在Android中的ListView像在IOS
- 12. Android - 如何正確繪製一個帶箭頭的箭頭?
- 13. 如何繪製餅像圖中IOS
- 14. 我如何設置繪製到ListView Android
- 15. 在android中繪製圖像
- 16. 如何在Android中的ListView上繪製形狀
- 17. 如何在iOS中添加android像烤麪包一樣?
- 18. 的UITableView節頭和頁腳節不更新(重繪問題)
- 19. iOS UITableView繪製的單元格奇怪
- 20. 如何在Android中創建iOS樣式的箭頭按鈕?
- 21. 如何在ListView中繪製水平線?
- 22. iOS:如何讓繪圖板像繪製一些東西?
- 23. 如何繪製多列UITableView?
- 24. 如何使UITableView像下圖一樣?
- 25. 如何在android中繪製一條線?
- 26. Facebook Messenger如何繪製聊天頭? (Android)
- 27. 如何在WinForms中的兩個圖像之間繪製箭頭?
- 28. 如何在surfaceview上繪製圖像android
- 29. 的Android:頭在ListView
- 30. Android:如何創建一個像這樣的自定義ListView?
謝謝,我已經解決了這個問題。 – stream
這些鏈接中的任何一個都可以幫助您在用戶滾動瀏覽部分時將標題行固定到屏幕頂部? – topwik
@towpse - 嘿,我沒有明白你的意思嗎? – user370305