listView常用的优化技巧

   listView设置项目间分割线
    android:divider="@android:color/darker_gray"
    android:dividerHeight="10dp"
  设置透明:
  android:divider="@null"
  
  隐藏listView的滚动条
  android:scrollbars="none"
  取消ListView的Item点击效果
  android:listSelector="#00000000"
  设置ListView需要显示在第几项
  listView.setSelection(50);
  动态更新ListView的数据
  mData.add("new");
   mAdapter.notifyDataSetChanged();
  ListView数据为空展示图片
  listView.setEmptyView();

   listView滑动监听:

onTouchListener:

        listView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch (motionEvent.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        //触摸时操作
                        Toast.makeText(MainActivity.this, "触摸时", Toast.LENGTH_LONG).show();
                        break;
                    case MotionEvent.ACTION_UP:
                        //离开时操作
                        Toast.makeText(MainActivity.this, "离开时", Toast.LENGTH_SHORT).show();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        //移动时操作
                        Toast.makeText(MainActivity.this, "移动时", Toast.LENGTH_SHORT).show();
                        break;
                }
                return false;
            }
        });
onScrollListener:

        listView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView absListView, int scrollState) {
                switch (scrollState) {
                    case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
                        //滑动停止时
                        Toast.makeText(MainActivity.this, "滑动停止时SCROLL_STATE_IDLE", Toast.LENGTH_LONG).show();
                        break;
                    case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
                        //正在滚动
                        Toast.makeText(MainActivity.this, "正在滚动SCROLL_STATE_TOUCH_SCROLL", Toast.LENGTH_SHORT).show();
                        break;
                    case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
                        //手指抛动时 即手指用力滑动
                        //在离开后ListView由于惯性继续滑动
                        Toast.makeText(MainActivity.this, "手指抛动时 即手指用力滑动SCROLL_STATE_FLING", Toast.LENGTH_SHORT).show();
                        break;
                }
            }

            @Override
            public void onScroll(AbsListView absListView, int fristVisibleItem, int visibleItemCount, int totalItemCount) {
                //滚动时一直调用
                Toast.makeText(MainActivity.this, "滚动时一直调用", Toast.LENGTH_SHORT).show();
            }
        });















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值