仿淘宝商品详情页TabLayout+ListView

实现淘宝商品详情页面的viewPager滑动到最后一张图片跳转的功能 之前写过仿淘宝的自定义viewGroup (点我查看) 阅读详情

有点好玩的跟大家分享一下项目对商品详情页改版有新需求。顶部是一个渐变的Title包括“宝贝”,“详情”,“推荐”三个文本,下边是一个竖向滑动的列表显示商品详情和推荐商品。要求两部分关联起来,也就是点横向的文本下边的列表能滑动到相应item,相反亦然。  自然而然我就想到了 TabLayout + ListView实现(RecyclerView原理都是一样的)

2).添加tabLayout监听,选中一项后是listview滑动到相应的item。

这里需要注意的一点是,一种触发回调的是用户点击了tab,另一种是滑动listview利用反射触发的这个回调

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
    @Override
    public void onTabSelected(final TabLayout.Tab tab) {

        if (isInv) {
            return;
        }
        listView.post(new Runnable() {
            @Override
            public void run() {

                int position = 0;
                switch (tab.getPosition()) {
                    case 0:
                        position = 0;
                        break;
                    case 1:
                        position = 1;
                        break;
                    case 2:
                        position = adapter.imgCount;
                        break;
                }

                listView.requestFocusFromTouch();//获取焦点
                  // 保存当前第一个可见的item的索引和偏移量
                 int height = CommonUtils.dip2px(ProductDetailActivity.this,
                        PreferencesUtils.getInt(ProductDetailActivity.this, AppConst.STATUS_BAR, 48));
                listView.setSelectionFromTop(position, height);
            }
        });
    }

    @Override
    public void onTabUnselected(TabLayout.Tab tab) {

    }

    @Override
    public void onTabReselected(TabLayout.Tab tab) {

    }
});

3).listview滑动监听

/*
 * ListView滚动距离
 */
@Override
public void scrollYDistance(AbsListView view, int distance, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    super.scrollYDistance(view, distance, firstVisibleItem, visibleItemCount, totalItemCount)

 

 
    //做通栏适配,title是覆盖在listview上面firstVisibleItem可能被title遮挡住不能显示,其实为第一个可见的item

    if (firstVisibleItem == 0 || firstVisibleItem == adapter.imgCount - 1) {
        if (listView.getChildAt(0).getBottom() < titleHeight) {
            return;
        }
    }

 

 
    RecommendProductBean item = (RecommendProductBean) adapter.getItem(firstVisibleItem);
    //0:商品详情图片;  1:推荐item;  2:商品详情title;  3:推荐位title
    if (distance < Enums.SCREEN_HEIGHT_TO_PX - 100) {
        if (currentIndex == 0) {
            return;
        }
        currentIndex = 0;
    } else {
        Logger.e("item.getItemType()....  " + item.getItemType());

        switch (item.getItemType()) {
            case 0:
            case 2:
                if (currentIndex == 1) {
                    return;
                }
                currentIndex = 1;
                break;
            case 1:
            case 3:
                if (currentIndex == 2) {
                    return;
                }
                currentIndex = 2;
                break;
            default:
                return;
        }
    }

    try {
        isInv = true;
        Class clz = tabLayout.getClass();
        Method animateToTab = clz.getDeclaredMethod("selectTab", new Class[]{TabLayout.Tab.class});
        animateToTab.setAccessible(true);
        animateToTab.invoke(tabLayout, new Object[]{tabLayout.getTabAt(currentIndex)});
        isInv = false;
    } catch (Exception e) {
        e.printStackTrace();
        isInv = false;
    }

}
商城手机端vue仿淘宝商品详情demo 使用vue2仿照了淘宝商品详情以及加入购物车。包含的页面有首页、分类更多、商品详情,其中商品详情的加入购物车利用了vue的组件功能 立即下载

相关推荐

vue仿淘宝商品详情demo

使用vue2仿照了淘宝商品详情以及加入购物车。包含的页面有首页、分类更多、商品详情,其中商品详情的加入购物车利用了vue的组件功能

仿京东淘宝商品详情页属性选择js效果

在网上找了好久发现都不符合要求就自己摸索写了一个,用到了linq.js这个linq to js 扩展,不然用纯JS遍历json查询要死人啊 demo:http://123.207.28.46:8086/ 效果图: 代码直接拷贝就可以运行: <!DOCTYPE html> <html> <head> <meta charset=...

weixin_34203832的博客 1548

仿淘宝商品详情页标题渐变

简易仿淘宝商品详情页面标题渐变的demo,可以做适当修改

[Android]ScrollView,ListView,ExpandableListView,ViewPager各种嵌套demo

欢迎光临程序猿零食铺:https://shop66096489.taobao.com 感谢: 网上的资源github: https://github.com/zhouhuakang/NestedViewDemo逐渐补充中。。。

记录所学所思 1767

仿照的淘宝商品详情页的浏览demo

这是仿照的淘宝商品详情页的浏览demo,实现的效果有: - [x] 视频和图片横向Banner浏览效果 - [x] 视频播放全屏和小窗悬浮效果 - [x] tab吸顶效果

Android仿淘宝商品详情页

看到有人在问如何实现淘宝商品详情页效果,献上效果图 大致梳理一下思路,这里不提供源码 状态栏透明使用开源库StatusBarCompat,为了兼容手机4.4 dependencies { compile ('com.github.niorgai:StatusBarCompat:2.1.4', { exclude group: 'com.android.support' }) } allprojects { repositories { ... maven { url https://jitpack.io } } } 标题栏图标透明度变化参考Api

【Android】Material Design 之二 BottomNavigationView使用

上午记录了TabLayout的使用,简单实现了一个顶部可滑动的导航效果,突然想到Material Design的另一个控件BottomNavigationView,可以实现类似淘宝、微信、QQ、京东的底部导航栏的效果,下面就来介绍一下使用BottomNavigationView来实现底部导航栏的效果。 使用该控件同样需要添加Material Design的依赖:(运行环境是在Android St...

好记性不如烂笔头,用文档记录技术,方便自己和他人。 2143

仿照淘宝购物车前端页面设计

仿照淘宝购物车前端页面设计

【Android进阶】Android仿淘宝商品浏览滑(拖)动查看详情界面

原文地址:http://dwtedx.com/itshare_311.html 本Demo实现了Android类似于淘宝商品页展示的滑动效果(继续拖动,查看图文详情)、如果拖动了一半就会自动滑动到顶部、并带有动画效果、原理是通过两个ScrollView来实现的、上面的ScrollView放产品简介、下面的ScrollView放详细介绍、下面是应用简单的截图、具体效果大家可以下载源代码导入

dodod2012的专栏 8651

手把手教你用Xilinx SelectIO IP核搞定ADS42LB69高速ADC的DDR数据采集(附仿真调试技巧)

本文详细介绍了如何使用Xilinx SelectIO IP核实现ADS42LB69高速ADC的DDR数据采集,包括IP核配置、仿真验证和硬件调试技巧。通过精准的时序控制和实战调试方法,解决高速数据采集中的时序对齐问题,提升系统稳定性和可靠性。特别适合FPGA工程师和高速ADC接口设计者参考。

weixin_42533622的博客 153

【Unity Shader】2D模型 3D模型混用的穿模问题(Spine在3D场景中出现前后穿模问题的解决办法)

问题描述: 在3D场景中使用Spine模型(2D), 因为Spine需要像Billboard类似的处理,永远是垂直与相机的, 所以一般情况下2D模型能正常显示且前后的阻挡关系也是没有问题的,如下图所示,一切都很美好.(这里用一个四边形,图中的福字表示2D模型) 可是如果后面蓝色的格子比较高,或者2D角色本身也比较高,那么就会出现模型穿插的问题,如下图所示: 如果吧2D模型竖立起来,前后关系肯定是没有问题的,所以也能避免模型穿插的问题,可是就没有Billboard效果,圆形的福字已经被压扁了,如下图:

Vitens的专栏 4591

Android之仿淘宝商品详情浏览效果

Android仿淘宝京东天猫等软件商品详情和图文详情的浏览效果,商品详情拖动到底部继续上滑出来图文详情,图文详情拖动到顶部继续拖动返回查看商品详情、

叶已初秋的博客 1万+

从调节阀到步进电机:图解位置型PID与增量式PID的核心区别

本文深入解析了位置型PID与增量式PID的核心区别。通过调节阀和步进电机的实例,阐明位置式PID输出绝对位置,适用于直接控制执行机构;而增量式PID输出位置变化量,天然支持无扰动切换,更适合步进电机等场景。文章重点剖析了增量式PID在系统安全与平滑切换方面的关键优势。

weixin_29051811的博客 357

仿淘宝商品详情页面Android

【致谢】:qifengdeqingchen 【博客地址】:http://blog.youkuaiyun.com/qifengdeqingchen/article/details/51659735 1、需求: 要实现一个类似淘宝、京东的商品详情页面。首先是在看一些前辈的思路,查看之后,发现博主qifengdeqingchen的文章不错,然后去下载下来查看demo。 2、查阅资料 来看看前辈的...

小米 1万+

2025最新聚合易支付官方完整版 – 全开源

2025聚合易支付5.0全开源版引领下一代智能支付革命,以"开放·智能·可信"为核心理念,成为全球首个通过量子安全认证的开源支付系统。该系统具备三大突破性创新:AI原生风控架构、跨链支付协议和零信任安全体系,支持百万级TPS处理能力。技术亮点包括Rust异步框架、Llama3风控模型、Polkadot跨链方案及IPFS分布式存储。提供量子安全支付、智能路由、元宇宙支付等六大功能,并通过开放原子基金会认证,构建了包含1200+全球开发者的开源生态。

meng1325200的博客 784

利用腾讯云轻量服务器快速搭建网站CDN

腾讯云的轻量最近在主机和站长中间可谓是占尽来风头,优秀的线路,低廉的价格使得越来越多的人开始使用腾讯云的轻量级服务器来部署应用。由于腾讯云轻量服务器的海外服务器电信走的是CN2GIA线路带宽30m挺适合做CDN的,我就记录一下如何利用腾讯云香港的轻量服务器搭建一个CDN。 购买服务器 首先选购服务器,最近腾讯云在做活动,力度很大国内备案用户可以选用国内的服务器最低128元/年,未备案的可以选用香港或者新加坡的服务器。 购买链接 服务器系统选Debian、Ubuntu、centos都可以 一键脚

demo_top的博客 2565

“每日10行代码”计划规则的明确

坚持“每日10行代码”有24天了,效果应该还是不错的,产生了20多篇的博客文章,有些文章的内容远远超过了10行代码,有时为了写一篇博客我会花费数小时的时间。 根据这20多天的以来的经验,我决定给这个计划制定一些规则: “每日10行代码” 可以是写代码,也可以是看代码的数量,但是看的话要确保每一行代码都看懂了,能给代码写详细的注释。 “每日10行代码” 并不一定非是10行,而是一个范围,7-15行。 “每日10行代码” 并不是每天一篇博客,当然最好能写出一篇博客,如果因为其他原因没写出来也是可以的,但一定

天天卡丁的博客 457

ubuntu20.04下内核源码下载分析

ubuntu 20.04下内核源代码下载,配置编译环境写在前面一、安装VMware Workstation和Ubuntu20.04二、修改apt源合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 写在前面 我最近的科研工作需要使用到对ubun

冰冻三尺非一日之寒 1万+

仿作淘宝页面 html+css

仿作淘宝页面简单版

m0_63706031的博客 2268

一个响应ping包延迟偏大的问题

前段时间客户反馈一个使用pc上的命令行ping无线设备(WiFi4)时,设备平均响应时间(测试时长2小时,1秒Ping一次)相比其它机型偏慢的问题,并上传上具体的时间的Log.从log中看到,大多数包的响应还是比较快的,只是个别响应时间较长,且响应时间长的包时间几乎都是一样的100多ms.如下是部分响应时间截图. 整个2小时的测试时间里,总是时不时的出这么上102,104ms的响应时间,这直接导致了平均响应时间被拉大.于是本地测试,也发现了类似的延迟.本地测试时,现象略有...

流风回雪的博客 1万+

筹码峰五句口诀,看懂主力的秘密动作!(附实战图示)

筹码图的价值在于,它不像K线那样容易造假。主力可以骗线,但骗不了筹码分布。主力在不在;是吸筹还是出货;接下来是变盘还是震荡。这五句口诀可以说是“筹码阅读的入门圣经”:单峰坚挺变盘在即,双峰对垒高抛低吸;上峰不移主力在跑,多峰林立行情不止;下峰不移不离不弃,筹码识庄稳中取利!📌市场从来不是靠猜,而是靠看清。筹码,就是主力最真实的痕迹。如果你想学会提前布局、跟庄不被甩,学会看筹码峰——这一步必须打牢!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1164

淘宝商品详情 API获取方式和案例展示

请求参数:num_iid=678006873127&is_promotion=1。is_promotion:是否获取取促销价。参数说明:num_iid:淘宝商品ID。

Noah_ZX的博客 542

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

uniapp仿淘宝--商品详情模板

界面演示 参考链接 https://blog.youkuaiyun.com/qq_40601005/article/details/108092783 修改地方 尽量将他用的框架给省略。重新编写一下啊。图片地址自己更换 总体代码 <template> <!-- https://blog.youkuaiyun.com/qq_40601005/article/details/108092783 --> <view class="container"> <!-- 商品轮播图 --&

weixin_45969142的博客 4705

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

仿淘宝详情页 直接上代码

放淘宝详情页 直接上代码 package com.example.liketitledemo; import android.content.Context; import android.graphics.Point; import android.util.AttributeSet; import android.view.WindowManager; import android.w...

qq_42663566的博客 3706

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: android 使用BottomTabBar实现底部导航页
下一篇: android 轮播图Banner的使用详情
Android_Code
博客等级 码龄8年 5粉丝 21原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值