因为使用了一个嵌套在scrollview中的自定义ExpandableListView,代码如下,功能是group展开时可以item项全部可见
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ExpandableListView;
public class MyExpandableListView extends ExpandableListView {
public MyExpandableListView(Context context) {
super(context);
}
public MyExpandableListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyExpandableListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
/**
* 重写该方法,达到使ListView适应ScrollView的效果
*
*/
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
发现item的分割线很难看,所以想去掉,查了一下,有很多方法,但是经过尝试发现还是在xml中设置childDivider的颜色为透明好用,即
android:childDivider="@android:color/transparent",但是其实也还是会留下一条分割线,只不过颜色透明了,所以如果有特殊效果的要注意这个
其它的比如:
- 代码中设置 :expandablelistview.setChildDivider(null);会报空指针错误
- xml中设置:android:childDivider="0dp"Android Studio会提示Error:(48, 39) Dimension types not allowed (at 'childDivider' with value '0dp').
- .....
其它的就不验证了,而且也懒得截图了,比较麻烦。