Android-ListView的学习(三)

技术小细节
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就可以实现滚动条的自动隐藏和显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值