淘宝菜单滑动条,图如下;

实现一下这个效果 , 上面是列表,可以用RecyclerView实现 , 下面跟随菜单滑动的条可以用View做位移动画实现;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ui.TaoIndicatorActivity"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="180dp"></androidx.recyclerview.widget.RecyclerView><RelativeLayoutandroid:id="@+id/layout"android:layout_width="68dp"android:background="#ddd"android:layout_gravity="center_horizontal"android:layout_height="6dp"><Viewandroid:id="@+id/v"android:layout_width="35dp"android:layout_height="match_parent"android:background="@color/red"/></RelativeLayout>
</LinearLayout>

实现滑动条跟随菜单做位移动画;

rv.addOnScrollListener(new RecyclerView.OnScrollListener() {@Overridepublic void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {super.onScrolled(recyclerView, dx, dy);int range = recyclerView.computeHorizontalScrollRange(); //全长度int extent = recyclerView.computeHorizontalScrollExtent(); // 当前显示的长度int offset = recyclerView.computeHorizontalScrollOffset(); //已滑动的偏移量//屏幕外的长度float wai = range - extent ;// 已滑动长度的比例float huabi = (float) (offset * 1.0) / wai; //注意!!!,如果用Int型,会取整;int huafan = layoutProgress.getWidth() - vProgress.getWidth(); //可滑动范围float translationX = huabi * huafan; // view偏移量vProgress.setTranslationX(translationX);}});

下面是全部代码:

public class TaoIndicatorActivity extends AppCompatActivity {private RecyclerView rv;private View vProgress;private RelativeLayout layoutProgress;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_tao_indicator);rv = findViewById(R.id.rv);layoutProgress = findViewById(R.id.layout);vProgress = findViewById(R.id.v);rv.setLayoutManager(new LinearLayoutManager(this , LinearLayoutManager.HORIZONTAL , false));initView();}private void initView() {rv.setAdapter(new TaoAdapter());rv.addOnScrollListener(new RecyclerView.OnScrollListener() {@Overridepublic void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);}@Overridepublic void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {super.onScrolled(recyclerView, dx, dy);int range = recyclerView.computeHorizontalScrollRange(); //全长度int extent = recyclerView.computeHorizontalScrollExtent(); // 当前显示的长度int offset = recyclerView.computeHorizontalScrollOffset(); //已滑动的偏移量L.c("全长度:"+range+"\n当前显示的长度:"+extent+"\n已滑动的偏移量:"+offset);//屏幕外的长度float wai = range - extent ;// 已滑动长度的比例float huabi = (float) (offset * 1.0) / wai; //注意!!!,如果用Int型,会取整;int huafan = layoutProgress.getWidth() - vProgress.getWidth(); //可滑动范围float translationX = huabi * huafan; // view偏移量vProgress.setTranslationX(translationX);L.c("\n屏幕外的长度:"+wai+"\n滑动比例:"+huabi+"\n可滑动范围:"+huafan+"\nview偏移:"+translationX);}});}
}

如果需要设置一屏显示几个Item ,计算并设置一下Item宽度就行了 ,Item宽度 =((屏幕宽度 - 边距) / Item数量)

Android 淘宝滑动条,淘宝菜单滑动条;相关推荐

  1. Android:实现仿 美团/淘宝 多级分类菜单效果

    本例要实现的是诸如美团/淘宝/百度糯米 多级分类菜单效果.当分类数量非常多时可以考虑采用两级分类,而诸如美团这种表现方式是一个不错的选择. 首先上效果图:      主要代码: 1. PopupWin ...

  2. JS仿淘宝网顶部的导航菜单

    代码简介: JS仿淘宝网顶部的导航菜单.整合了购物车,收藏夹,搜索,搜索,网站导航等功能的导航. 代码内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...

  3. Android实现打开手机淘宝并自动识别淘宝口令弹出商品信息功能

    1.用淘宝点击分享微信,生成商品口令 2.复制口令字符串 3.写入剪切板,读取剪切板的数据 4.跳转淘宝app,淘宝会自动监听字符串数据,配合后台,弹框拿到商品数据的详情 依赖 implementat ...

  4. Android 动态格子布局(淘宝,京东等首页)

    blockview 项目地址:edhlily/blockview  简介:Android 动态格子布局(淘宝,京东等首页) 更多:作者   提 Bug 标签: Android 动态格子布局(淘宝,京东 ...

  5. 抖音CLICKID+淘宝Relaitionid回传淘积木APP内下单--转化归因联调ROI程序算法及代码技术实现

    抖音CLICKID+淘宝Relaitionid回传淘积木APP内下单–转化归因联调ROI程序算法及代码技术实现! 首先对于一般的自建站,去做抖音推广,如果要做注册付费下单等各种转化追踪事件回传联调,抖 ...

  6. 基于淘宝网的淘金币抽奖是如何吸引屌丝消费的策略研究

    在淘宝网上,不知什么时候,多一个得淘金币 + 淘金币抽奖的活动. 游戏规则: 如何淘 金币 : http://service.taobao.com/support/knowledge-1121874. ...

  7. 淘宝/天猫获得淘宝app商品详情原数据

    淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明      立即测试 item_get_app-获得淘宝app商品详情原数据 获取Key和secret 请求参数 请求参数:num_iid=5 ...

  8. 淘宝/天猫获得淘宝app商品详情原数据API,电商数据分析

    万邦淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 onebound.taobao.item_get_app 公共参数 请求地址:  ...

  9. 淘宝店、淘宝商城排名规则及流量提升培训教程

    2019独角兽企业重金招聘Python工程师标准>>> 淘宝店.淘宝商城排名规则及流量提升培训教程 流量提升培训教程淘宝店铺的心电图 淘宝店流量从哪来呢?我们首先需要了解淘宝的搜索影 ...

最新文章

  1. 工作之本地存储RAID5一硬盘离线恢复简要说明
  2. 超好看的科学科普书,孩子大人都可以看!
  3. centos7 geenplum5.x postgis开源版本编译
  4. H.264/AVC技术进展及其务实发展策略思考
  5. 使用selenium爬取csdn博客
  6. c语言电子地图程序,C语言 电子地图信息
  7. 总觉得该分享点什么!零基础小白如何快速入门前端?
  8. Android/Java面试题,边面试边成长,为了应试而应试
  9. Ionic 学习笔记
  10. bada开发tips
  11. Ubuntu Linux 3D桌面完全教程
  12. 论机电一体化的发展By integration of machinery development
  13. super this
  14. 日期之 显示法定格式的日期
  15. kermit的安装、配置、使用
  16. 结对第一次—原型设计(文献摘要热词统计)
  17. YunOS场景文字识别
  18. 【笔记】关于汉字注音
  19. java构造器(默认构造方法、参数化构造方法)
  20. linux prompt模式,Linux利用PROMPT_COMMAND实现操作记录的功能

热门文章

  1. SpringBoot集成beetl模板快速入门
  2. 1086 就不告诉你 (15 分)
  3. 日产佳奔_Nissan的历史
  4. 《乔布斯传》英文原著重点词汇笔记(十五)【 chapter fourteen】
  5. POJ 3268 Silver Cow Party--正反Dijkstra
  6. 【机器学习】支持向量机中的核函数(理论+图解+公式推导)
  7. c语言生日创意代码_C语言 生日快乐
  8. Xmind - win10系统安装 Xmind
  9. [已迁移]xctf-CGfsb[recorded]
  10. 小学六年级的读者,自学计算机,会爬虫,搞崩过学校网站,还有 Girlfriend.....