一、Android 隐藏ListView滚动条
1、控制不活动的时候的可见性,true表示不活动时隐藏,false表示不活动时可见,但活动时肯定可见
setScrollbarFadingEnabled(true);
Define whether scrollbars will fade when the view is not scrolling.
2、不活动的时候隐藏,活动的时候也隐藏
setVerticalScrollBarEnabled(false);
或者
android:scrollbars="none"
二、控制ListView的离底部的高度
一般情况下定义ListView是采用linearlayout来布局的,因此当某些View被设为gone的时候会自动调整listview的高度,由于项目的特殊性,我将listview定义在Framelayout的布局中,并且必须根据需要用函数来调整listview的高度。可以通过调整padding或者margin来实现。
1. 调整padding
在layout定义离底部的高度。
android:paddingBottom="89dp"
在自定义的listview定义
public void resetPaddingValue(boolean filter){
if(filter){
setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 0);
} else {
setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 89 * 3/*density*/);
}
}
2. 调整margin
在layout定义离底部的高度。
android:layout_marginBottom="89dp"
在自定义的listview定义
public void resetMarginValue(boolean filter){
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams)getLayoutParams();
if(filter) {
params.bottomMargin = 0;
} else {
params.bottomMargin = 89 * 3/*density*/;
}
}
三、header和footer的拉伸区域调节
该拉伸区域是由AbsListView中mEdgeGlowTop和mEdgeGlowBottom来调整的,去掉这两个效果采用方法
mQuickIndexListView.setOverScrollMode(View.OVER_SCROLL_NEVER);
四、listview隐藏输入法
mQuickIndexListView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
hideSearchEditTextInputSoftKey();
return false;
}
});
public void hideSearchEditTextInputSoftKey(){
if (mQuickIndexSearchEditText != null) {
InputMethodManager im = ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE));
im.hideSoftInputFromWindow(
mQuickIndexSearchEditText.getWindowToken(), 0);
}
}