ExpandableListView研究


  最近想做依照QQ做些那樣的效果,所以就用到了ExpandableListView,在網上搜集了一些,在加上自己的總結,如下:

  1.自定義 ExpandableListView 的group的樣式

   目的:把小箭頭放在右邊

   先把 groupIndicator 屬性禁掉,android:groupIndicator="@null",然后把自定義的布局加入

        @Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = li.inflate(R.layout.expandable_group, null);
ImageView mgroupimage=(ImageView)view.findViewById(R.id.groupimage);
if(!isExpanded){
mgroupimage.setBackgroundResource(R.drawable.btn01);
}else{
mgroupimage.setBackgroundResource(R.drawable.btn02);
}
TextView tv = (TextView) view.findViewById(R.id.groupname);
tv.setText(groups[groupPosition]);
return view;
}

 

  2.只展開一個group,點第一個gorup后,再點第二個group時,第一個會自動收縮  

expandablelistview.setOnGroupExpandListener(new OnGroupExpandListener(){

@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub
for(int i=0;i<groups.length;i++){
if(groupPosition != i){
elv.collapseGroup(i);
}
}
}});

  3.點擊時會出現全部變為黑色的情況  

expandablelistview.setCacheColorHint(0);

     使用前:

                  

  4.如果group沒有child時,就不讓它展開  

        expandablelistview.setOnGroupClickListener(new OnGroupClickListener(){

@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// TODO Auto-generated method stub
if(childs.get(groupPosition).isEmpty()){
return true;
}
return false;
}});


  5.

android:groupIndicator            定義group行的指示圖標的樣式,展開和收縮時圖標的變換                                                                                                                                         
android:childIndicator  定義child行的指示圖標的樣式 
android:drawSelectorOnTop 為true時,點擊時,出現的顏色會把文字覆蓋住,為false時,不會
 android:transcriptMode  需要用ListView或者其它顯示大量Items的控件實時跟蹤或者查看信息,並且希望最新的條目可以自動滾動到可視范圍內。

通過設置的控件transcriptMode屬性可以將Android平台的控件(支持ScrollBar)自動滑動到最底部

android:fadingEdge 設置上邊和下邊的陰影

 android:fadeScrollbars

滾動條的自動隱藏和顯示。

   
   


原創作品,轉載請注明出處轉載自道痕

  
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM