Android 仿京东淘宝 商品详情页 商品图片效果

【Android】仿淘宝商品详情页 话不多说---先上效果图: 图1 商品详情页 图2 加入购物车点击事件 需求分析: 图1中主要需要实现的效果: 1.轮播图 2.顶部导航栏的渐变 3.顶部导航栏随着滑动的位置选择对应的值以及点击滑动到对应位置 图2中主要需要实现的效果: 1.界面从底部出场的效果 2.参数选择的瀑布流式效果 技术分析: 图1: 1.轮播图,可以采用自定义(ViewPager的使用),也可以用直接用第三方库。这里我采用的是 https://github.com/youth5201314/bann 阅读详情

最近重构商品,产品要求,按照淘宝京东来。。。。

成品如图这个效果


思路就是监听外边ScrollView的滑动监听,然后给上边图片设置margin,二话不说上代码

简单的界面布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.zhangd.zhangdtest.view.MyScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#fff">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <ImageView
                    android:id="@+id/im_top"
                    android:layout_width="match_parent"
                    android:layout_height="300dp"
                    android:scaleType="fitXY"
                    android:src="@drawable/image"/>
            </RelativeLayout>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:text="11111"
                android:gravity="center"/>
            <View style="@style/line"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:text="11111"
                android:gravity="center"/>
            <View style="@style/line"/>
            ......

        </LinearLayout>


    </com.zhangd.zhangdtest.view.MyScrollView>

</LinearLayout>

因为Scrollview没有直接的监听滑动距离的方法,只能自己重写一个简单的MyScrollView,通过重写onScrollChanged方法来实时获取滑动的距离

MyScrollView.java

public class MyScrollView extends ScrollView {
    private ScrollViewListener scrollViewListener = null;

    public interface ScrollViewListener {
        void onScrollChanged(int y);
    }

    public MyScrollView(Context context) {
        super(context);
    }

    public MyScrollView(Context context, AttributeSet attrs,
                        int defStyle) {
        super(context, attrs, defStyle);
    }

    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setScrollViewListener(ScrollViewListener scrollViewListener) {
        this.scrollViewListener = scrollViewListener;
    }

    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        super.onScrollChanged(x, y, oldx, oldy);
        if (scrollViewListener != null) {
            scrollViewListener.onScrollChanged(y);
        }
    }
}

然后界面Activity里边,通过比较滑动的距离和图片的高,在滑动的距离比图片高度小的时候,设置图片的margin

public class ScrollViewActivity1 extends BaseActivity implements MyScrollView.ScrollViewListener {

    private ImageView im_top;
    private MyScrollView scrollView;
    private int imageHeight;
    @Override
    public void setContentView() {
        setContentView(R.layout.activity_scroll1);
    }

    @Override
    protected void findViewById() {
        im_top = (ImageView) findViewById(R.id.im_top);
        scrollView = (MyScrollView) findViewById(R.id.scrollView);


        im_top.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                imageHeight = im_top.getHeight();
                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
                    im_top.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                } else {
                    im_top.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                }
            }
        });
        
        // 设置滑动监听
        scrollView.setScrollViewListener(this);

    }

    @Override
    protected void initView() {


    }

    /**
     * 滑动回调
     * @param y
     */
    @Override
    public void onScrollChanged(int y) {
        if (y < imageHeight) {
            setMargins(im_top, 0, y / 2, 0, -y / 2);
        }
    }
    
    public static void setMargins (View v, int l, int t, int r, int b) {
        if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
            ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
            p.setMargins(l, t, r, b);
            v.requestLayout();
        }
    }
}

OK鸟



仿淘宝、京东商品详情页、视频悬浮效果、tab吸顶效果 这是仿照淘宝的商品浏览详情页,主要实现的效果有: 视频和图片横向Banner浏览效果 视频播放全屏和小窗悬浮效果 tab吸顶效果 这是效果实例图: 具体完整代码,可以下载demo自行运行查看 布局文件:使用的是 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sc 阅读详情

相关推荐

android 仿淘宝、京东商品详情页 向上拖动查看图文详情控件

android 仿淘宝、京东商品详情页 向上拖动查看图文详情控件

qq_29443203的博客 1843

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

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

dodod2012的专栏 8651

Android-->自定义无限循环轮播图控件(仿京东、天猫等)

声明:本文是在灵台斜月的基础上改动而成。 目前轮播图的样式总结出大概三种。分别是“饿了么”、“京东“、”淘宝“。大家可以去感受下。这三种轮播图主要是indicator(小圆点索引)的效果不同。 灵台斜月的这篇文章的效果是和”饿了么“类似,当轮播图片的过程中,indicator也是滑动的。 ”淘宝“的效果是,当轮播图片完成后,indicator才改变,这种效果对于有强迫症的人来说,总感

chan1116的专栏 3308

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

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

叶已初秋的博客 1万+

Android电商应用开发:模仿京东商品详情页

在当前移动互联网时代,用户界面(UI)的设计与开发对于应用的成败至关重要。本章将概述如何模仿京东app的商品详情页进行设计。我们将从理解用户需求与期望开始,进而分析商品详情页在京东app中的作用,以及它如何为用户提供丰富的商品信息和优质的浏览体验。此外,本章也将介绍设计的基本思路与步骤,提供在设计商品详情页时应该遵循的若干原则,例如简洁性、易用性和响应速度。设计京东app商品详情页,不仅需要考虑美观和直观,还要确保加载速度快和交互流畅。

weixin_29496633的博客 1096

Android高仿电商商品详情页上拉加载图文实战

商品详情页作为电商类App的核心界面,承担着信息展示、用户交互与转化引导的多重职责。其交互体验直接影响用户留存与下单转化率。其中,“上拉加载图文详情”功能是提升页面流畅性与信息加载效率的关键设计之一,涉及滑动监听、动态加载、布局管理与性能优化等多个技术维度。本章将围绕该功能的业务需求与技术背景进行介绍,帮助读者建立整体认知框架,并为后续章节的技术实现打下基础。除了使用系统提供的 Behavior,我们还可以通过自定义 Behavior 实现更复杂的交互效果,如商品信息区域的渐变隐藏。

weixin_42513928的博客 1072

Android 仿淘宝商品页详情(头部滑动渐变)

上布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="#23F1F1F

weixin_43522997的博客 982

Android高级UI实战:仿制京东和淘宝首页布局

在Android中,布局管理是指通过XML文件或Java代码来定义用户界面的结构。它不仅涉及到组件的排列和对齐,还包括响应不同屏幕尺寸和分辨率的适配问题。良好的布局管理可以确保应用在各种设备上均能提供良好的用户体验。构建自定义Adapter需要继承类并实现以下三个核心方法:: 创建持有视图的新ViewHolder实例。: 将数据绑定到特定的ViewHolder。: 返回列表项的总数。@Override@Override@Override// 持有视图元素。

weixin_28939623的博客 415

Android 仿京东淘宝拼多多的商品分类,双列表联动,RecyclerView嵌套

淘宝京东的相对简单很多,两个RecyclerView就可实现了。 现在要做的是右边滑动的时候左边跟着联动,如下图: 思路:左右肯定都是RecyclerView了,至于中间的图片嘛当然也是RecyclerView了,嵌套冲突的时代已经过去了。(如果你想用多条目,每张图片也要复用我也不反对,但你会掉头发...) 注意:嵌套的内层RecyclerView会失去复用,不适合单个分类上百张图片(是...

王能的小屋 7387

Android-精仿京东商品详情页效果支持左右滑动上下滑动

精仿京东商品详情页效果,支持左右滑动,上下滑动,按钮标题渐变效果,沉浸式效果,解决嵌套冲突,支持recyclerView列表内容

Android仿淘宝商品详情页效果

本文实例为大家分享了Android仿淘宝商品详情页的具体代码,供大家参考,具体内容如下 Demo地址:先上效果图 效果就是上面图片的效果 接下来看看如何实现 首先我们来看下布局文件  <LinearLayout android:id=@+id/header android:layout_width=match_parent android:layout_height=72dp android:paddingTop=24dp android:background=#00FFFFFF android:

仿淘宝详情页的商品详情

先上效果图 效果就是上面图片的效果 接下来看看如何实现 首先我们来看下布局文件  &lt;LinearLayout android:id="@+id/header" android:layout_width="match_parent" android:layout_height="72dp" ...

qq_36020854的博客 7361

win10和Mac上安装Freesurfer

Mac安装Freesurfer 软件下载地址 可以根据官方给出的demo视频一步一步下载

Daily_365的博客 6077

Android——仿京东淘宝分类页面

效果图: json在assets下 添加依赖:   compile 'com.squareup.okhttp3:okhttp:3.8.1' compile 'com.facebook.fresco:fresco:0.11.0' compile 'com.alibaba:fastjson:1.1.46.android' MainActivitypublic class MainA...

xy8199的博客 1万+

Windows-Anaconda3+TensorFlow安装教程

测试环境:win10-64位和win7-64位 (系统必须是64位,因为TensorFlow目前只支持64位) 一、安装Anaconda3 1.下载Anaconda3 Anaconda官网链接:link 这里我们选择Windows版本,python3.6-version-64位,如下图所示。 2.下载完成之后,点击安装Anaconda3 注意:安装过程中要选择添加环境变量,如图 待安装完成...

DoctorCuiLab的博客 3086

PX4飞控CAN总线通信深度配置:从menuconfig到驱动加载的完整指南

本文详细解析了PX4飞控中CAN总线通信的深度配置流程,从menuconfig选项设置到驱动加载的完整指南。涵盖硬件抽象层、驱动层和应用层的配置细节,提供实际验证方法和故障排查技巧,帮助开发者高效实现CAN通信,特别适用于无人机和机器人底盘运动控制等场景。

weixin_30374009的博客 501

安卓首页图片轮播效果(淘宝、京东首页广告效果)

主页广告轮播效果

小单的博客专栏 9万+

OpenBullet2 学习研究2-Conditions条件之KeyCheck的使用

上一节我们学习了如何安装Openbullet2以及如何新建一个配置,最后我们再配置里面新建一个Http的请求块,帮助我们发送了第一个请请求。这一节我们来学习check块。当我们发送请求以后,请求返回的内容是否是我们想要的,或者请求发送正确没有,这个我们怎么判断呢?这个时候就要用到check块了。

959

Android 实现仿京东购物车动画

为了给商品加入购物车添加点酷炫动画,最近参考了京东,淘宝等常用的电商App的购物车添加动画,根据产品的业务需求,使用补间动画结合插值器实现: 效果图: 关键代码(修改控件id,可直接使用): private void AddCartAnimation() { //计算动画开始/结束点的坐标的准备工作 //得到父布局的起始点坐标(用于辅助计算动画开始/结束时的点的坐标) ...

黄兆宽=★=的专栏 2160

分子动力学仿真软件:LAMMPS_(16).应用案例分析

通过以上四个应用案例,我们详细介绍了如何使用LAMMPS进行不同系统的分子动力学仿真。从简单的液体水仿真到复杂的纳米管仿真,每个案例都包含了详细的步骤说明和代码示例。读者可以通过这些示例实际操作并验证结果,从而更好地理解LAMMPS的功能和使用方法。希望这些案例能够为读者在分子动力学仿真领域的研究和应用提供帮助。

kkchenjj的博客 837

Python 爬虫实战:爬取 B 站 UP 主投稿数据,分析更新频率与粉丝互动

摘要:本文基于Python技术实现B站UP主投稿数据的自动化爬取与分析。通过解析B站WBI签名机制和API接口,获取UP主视频的标题、播放量、点赞数等核心数据。采用时间序列分析统计更新频率,结合相关性分析挖掘内容特征与粉丝互动的关联。结果显示编程类视频播放量最高,10-20分钟时长的视频表现最佳,投币数与播放量相关性达0.92。文章详细介绍了接口分析、反爬应对等关键技术,为内容创作者优化策略提供数据支持,同时强调遵守平台规范的爬取原则。

2503_91057718的博客 1537

Android高仿京东淘宝商品列表布局切换效果

商品列表布局切换效果很常见,因为淘宝京东有的界面下面很多公司都会给风模仿 当然,我们公司也不例外,最近版本更新添加了这个功能; 在项目中直接使用RecyclerView实现切换功能; 如果不了解RecyclerView的可以先看下:  RecyclerView使用详解 使用RecyclerView可以非常简单的实现功能; 第一步:在adapter中重写getItemViewType()方

Zheng 9285

1分钟吃透一篇文献,借助AI辅助各部分精读,效率提升10倍(附AI提示词)

你现在是一名【研究领域】的资深博士,非常擅长阅读与分析长篇论文,那么接下来我会给你上传一篇论文,请你按照我的要求辅助我阅读。

qq_64378896的博客 641

天猫、淘宝、京东商品详情的图片手动滑动ViewPager

我这感觉很 low 但我都测试的没有问题 在真机

JingDe_Qin的博客 1576

行为预测模型:Social LSTM与Graph Neural Networks

行为预测模型:Social LSTM与Graph Neural Networks ,人工智能,计算机视觉,大模型,AI,本文围绕行为预测模型Social LSTM与Graph Neural Networks展开,介绍了两者的基础概念、原理、应用场景,还对比了它们在优势、劣势和适用场景上的不同,最后给出了相应的代码示例。Social LSTM基于LSTM,通过社交池化层处理多智能体交互;图神经网络处理图结构数据,靠消息传递获取信息,二者各有侧重,适用于不同场景。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 15万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

京东 淘宝 的图片放大镜功能

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } .box{ width: 3

第一千行代码的博客 2602

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Android使用共享元素实现转场动画 错误:Unable to create layer for LinearLayout
下一篇: React Native 错误 Module does not exist in the module map
D调的忧伤
博客等级 码龄14年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值