根据需求针对横向显示的列表增加一个滚动条显示。

效果图:

Recycleview列表实现原来是啥就是啥,先看看列表下面的滚动条。

滚动条布局:

                                                                       

资源文件shape_bg_slip_behind.xml

<?xml version="1.0" encoding="utf-8"?>        

资源文件shape_bg_slip_front.xml

<?xml version="1.0" encoding="utf-8"?>        

 之后就需要监听列表的滑动事件了。

        // 这里的mRvHx是需要绑定滚动条的RecyclerView        rv_main_app.addOnScrollListener(new RecyclerView.OnScrollListener() {            @Override            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {                super.onScrollStateChanged(recyclerView, newState);            }            @Override            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {                super.onScrolled(recyclerView, dx, dy);                // 整体的总宽度,注意是整体,包括在显示区域之外的。                int range = rv_main_app.computeHorizontalScrollRange();                float density = getScreenDensity();                // 计算出溢出部分的宽度,即屏幕外剩下的宽度                float maxEndX = range - ScreenUtils.getScreenWidth() + (25 * density) + 5;                // 滑动的距离                endX[0] = endX[0] + dx;                // 计算比例                float proportion = endX[0] / maxEndX;                // 计算滚动条宽度                int transMaxRange = ((ViewGroup) view_slip_front.getParent()).getWidth() - view_slip_front.getWidth();                // 设置滚动条移动                view_slip_front.setTranslationX(transMaxRange * proportion);            }        });

注意:当数据刷新时需要改变为初始的样子:

view_slip_front.setTranslationX(0);rv_view.scrollToPosition(0);

 

更多相关文章

  1. 理解---Android(安卓)向右滑动销毁(finish)Activity, 随着手势的滑
  2. Android(安卓)手势基础 GestureDetector
  3. Android在绘制View之前计算其高度 / 宽度
  4. Android(安卓)Material Design新UI控件使用大全 三
  5. Android(安卓)SwipeLayout实现界面滑动布局
  6. Android关于Pageradapter的总结
  7. Android使用SwipeListView实现类似QQ的滑动删除效果
  8. Android(安卓)RecyclerView下拉刷新和上拉加载更多
  9. android:自定义监听(简单)

随机推荐

  1. Android(安卓)Update Engine分析(七) Downl
  2. Fatal signal 11 (SIGSEGV) at 0xdeadbaa
  3. android adb shell命令行启动Activity se
  4. Android(安卓)studio添加按钮点击进入下
  5. Ubuntu 12.04中Android(安卓)NDK r8d 编
  6. Android更新UI的两种方法——handler与ru
  7. android通过HTTP协议上传文件至远程服务
  8. Anroid使用DefaultHttpClient访问Wap网络
  9. WebView的基本使用方法及 WebViewClient
  10. android 5.0 以上获取栈顶应用包名以及程