ExpandableListView控制元件使用中一些小問題的總結
ExpandableListView控制元件,很好的解決了listView無法進行摺疊和分類的功能(在不進行自定義的情況)。但是它也有一些無法解決的問題,比如伸縮沒有動畫,前方的箭頭位置不能更換,也不能更換圖示等。
單位的專案整好用到這樣的一個功能,就看了一下,現在把它做一下總結。效果如圖:
這個圖是最後的效果,採用的是第三方開源的AnimatedExpandableListView控制元件,不用擔心,它是繼承ExpandableListView,新增了伸縮動畫。
ExpandableListView控制元件在使用的時候,經常會遇到以下幾個問題:
1、去掉父項最左側的上下箭頭或是將它移動到最右側
2、點選父項展開子項的時候,有互斥的效果。就是一個展開,其它的就全是關閉
3、點選父項展開子項時,有相應的動畫
下面我們就一一說明以上三個問題
1、去掉父項最左側的上下箭頭或是將它移動到最右側
這個功能,去掉父項最左側的上下箭頭,比較簡單,一行程式碼
//去掉前面一剪頭
ExpandableListView.setGroupIndicator(null);
將它移動到最右側,不好意思,這個沒有方法,你只能自己處理,簡單的方法就是去掉左側的箭頭,然後在右側自己加圖片處理。這個比較簡單,只要在Adapter裡的getGroupView方法新增就行
此方法有一個變數boolean isExpanded,它就是用來判斷狀態的,根據不同的狀態,你換一下右側的圖片就OK了,如下
if (isExpanded) {
gHolder.gnextIv.setImageResource(R.mipmap.ico_push_bot);
}else {
gHolder.gnextIv.setImageResource(R.mipmap.ico_next);
}
2、點選父項展開子項的時候,有互斥的效果。就是一個展開,其它的就全是關閉
這個功能,只要我們重寫setOnGroupExpandListener方法就OK了
/**
* 各項顯示互斥,就是一個展開,另外的關閉
*/
el_list.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
for (int i = 0; i < mAdapter.getGroupCount(); i++) {
if (groupPosition != i) {
el_list.collapseGroup(i);
}
}
}
});
3、點選父項展開子項時,有相應的動畫
這個只能使用第三方控制元件,本身沒有法子。我使用的是AnimatedExpandableListView,說到這裡,我自己都在想,前面說了半天,有毛用啊。使用了第三方控制元件,前兩個不是白說。這裡強調一下,這個控制元件是繼承自ExpandableListView的,也就是上面說的兩點,在這裡都同樣實用。
相關文章
- 一些小問題彙總
- ExpandableListView使用View
- Fiddler 使用問題總結
- Promise一些小總結Promise
- C#控制元件的閃爍問題解決方法總結C#控制元件
- springboot使用問題總結Spring Boot
- 問題總結
- C# Chart控制元件的使用總結C#控制元件
- Android中使用WebView遇到的問題總結:AndroidWebView
- EF使用MySql DBFirst產品的問題總結MySql
- 關於echarts使用的常見問題總結Echarts
- 在react中使用Mobx問題總結React
- 使用Oracle資料泵問題總結Oracle
- 總結下 javascript 中的一些小技巧JavaScript
- 關於繼承的一些小總結繼承
- LNMP的403問題總結LNMP
- 近期回答的問題總結
- 關於Redis的一些小問題Redis
- Elasticsearch 問題總結Elasticsearch
- Swoole 問題總結
- Kerberos問題總結ROS
- 面試問題總結面試
- Charles日常使用中的問題總結,未完待續……
- 教你如何解決PostgreSQL Array使用中的一些小問題SQL
- 微信小程式pick元件使用問題總結微信小程式元件
- iOS: FFmpeg編譯和使用問題總結iOS編譯
- Eclipse初次java開發問題總結-4-Maven使用問題彙總EclipseJavaMaven
- javascript的物件問題及總結JavaScript物件
- RB的應用問題總結
- 初次使用EasyUI框架外掛遇到的問題及總結UI框架
- npm install 使用過程出現的問題總結NPM
- RecyclerView的使用總結以及常見問題解決方案View
- pigoss BSM 售前使用問題總結2(FAQ)Go
- JBoss安全問題總結
- Kibana 問題總結
- electron初探問題總結
- PHP面試問題總結PHP面試
- REDIS面試問題總結Redis面試