技术小细节
1、取消Activity布局顶部Android自带的Bar,在配置文件里的style.xml文件里设置。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
2、android:visibility及 view的setVisibility方法值的意思。
此属性意思是此视图是否显示,
例如RelativeLayout中android:visibility=”gone”
其有三个属性:visible显示;invisible显示黑背景条;gone不显示
在类中,可以设置其显示与否,
setVisibility(View.GONE);不显示
setVisibility(View.VISIBLE);显示android view的setVisibility方法值的意思
有三个值 visibility One of VISIBLE, INVISIBLE, or GONE.
同上
常量值为0,意思是可见的
常量值为4,意思是不可见的
常量值为8,意思是不可见的,而且不占用布局空间
3、遍历ListView中的所有item
for (int i = 0; i < listView.getChildCount(); i++){
View view = listView.getChildAt(i);
}
4、处理空ListView
当listview中午数据展示时候,给用户一个无数据提示。用到semEmptyView(),
listView.setEmptyView(findViewById(R.id.empty_view));
5.两种给listview设置滑动监听的方法:
一、OnTouchListener
listView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
//触摸时操作逻辑
break;
case MotionEvent.ACTION_MOVE:
//移动时操作逻辑
break;
case MotionEvent.ACTION_UP:
//离开时操作逻辑
break;
}
二、OnScrollListView
OnScrollListView有两个回调方法。onScrollStateChanged()和onScroll().
scrollState有三种模式:
1、SCROLL_STATE_IDLE:滑动停止时。
2、SCROLL_STATE_TOUCH_SCROLL:正在滚动时。
3、SCROLL_STATE_FLING:手指抛动时,即手指离后,listview由于惯性在滑动
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState){
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
//滑动停止时
break;
case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
//正在滚动时
break;
case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
//手指抛动时,手指离后,listview由于惯性在滑动
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//滚动时候一直调用
}
});
ListView属性
1、stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false
android:stackFromBottom=”true”
2、 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
android:transcriptMode=”alwaysScroll”
3、cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background=”@drawable/bg”,不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。
如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了
4、divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线
android:divider=”@drawable/list_driver” 其中 @drawable/list_driver 是一个图片资源,如果不想显示分割线则只要设置为android:divider=”@drawable/@null” 就可以了
5、fadingEdge属性,上边和下边有黑色的阴影
android:fadingEdge=”none” 设置后没有阴影了~
第五scrollbars属性,作用是隐藏listView的滚动条,
android:scrollbars=”none”与setVerticalScrollBarEnabled(true);的效果是一样的,不活动的时候隐藏,活动的时候也隐藏
6、fadeScrollbars属性,android:fadeScrollbars=”true” 配置ListView布局的时候,设置这个属性为true就可以实现滚动条的自动隐藏和显示。