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();
            }
        });















猜你喜欢

转载自blog.csdn.net/qq_32329745/article/details/80741453
今日推荐