ExpandableListView 去掉默认箭头,设置成别的图片

因为expandablelistview的默认箭头样式可能会跟我们自己的app风格不一致,需重新设置。

ExpandableListView 去掉默认箭头,设置成别的图片_第1张图片


expandablelistview取消默认箭头有两种方法:
1.在布局文件xml中添加groupIndicator属性为@null
android:groupIndicator="@null"
2.在代码中设置:

mExLv.setGroupIndicator(null);


然后就是添加自己的箭头,当然就是使用selector,如果设置expandablelistview的groupindicator属性为指定的selector:




    
    

则图片的scale type不好控制,会出现图片拉伸,暂时还不知道这种的解决办法。


所以我会在group view的item里面设置selector,scale type和位置等都可以很好的控制:

selector:






item布局:




    


然后在expandablelistview的adapter中的getGroupView中动态设置:

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        Holder holder = null;
        if (convertView == null) {
            holder = new Holder();
            convertView = mInflater.inflate(R.layout.item_exlv_group, parent, false);
            holder.tv = (TextView) convertView.findViewById(R.id.tv);
            convertView.setTag(holder);
        } else {
            holder = (Holder) convertView.getTag();
        }
        holder.tv.setText(mGroupData.get(groupPosition));
        holder.tv.setSelected(isExpanded);
        return convertView;
    }




你可能感兴趣的:(android,基础)