ListView高级用法

总结了一下,一些小属性,有奇效


分割线颜色

android:divider=“@anroid:color/darker_gray“

分割线高度

android:dividerHeigth=“10dp"

分割线透明

android:divider=“@null"

隐藏ListView 滚动条

android:scrollbars=“none“

取消点击效果

android:lisSeletor=“#00000000”

显示第几个item(瞬间到)

listview.setSelection(num);

类似

listview.smoothScrollBy(distance,duration);

listview.smoothScrollByOffset(offset);

listview.smoothToPosition(index);

遍历ListView 中所有Item

for(int i=0;i

View view =listview.getChildeAt(i);

}

处理空ListView

setEmptyView()

获取可视区第一个itemId

listview.getFristVisiblePostion()

获取可视区最后一个itemId

listview.getLastVisiblePosition()

下拉具有弹性

1.属性

//初始可拉动Y轴方向距离

private static final int MAX_Y_OVERSCROLL_DISTANCE = 100

//上下文环境

private Context mContext;

//实际可上下拉动Y轴上的距离

private int mMaxYOverscrollDistance;

2.初始化增加这三句

final DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();

final float density = metrics.density;

mMaxYOverscrollDistance = (int) (density * MAX_Y_OVERSCROLL_DISTANCE);

3.重写一个方法

@Override

protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {

//实现的本质就是在这里动态改变了maxOverScrollY的值

return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrollDistance, isTouchEvent);

}


最后欢迎关注我的公众号


ListView高级用法_第1张图片

你可能感兴趣的:(ListView高级用法)