完整APP项目(含服务器源码)第二课 - 仿京东商品分类
首先分京东商品分类的结构:左边是一级分类 , 右边是二级分类, 二级分类下是三级分类, 如下图:
分析结构如下:
昨天是个listview , 右边是一个GridView.
list实现是很常用的, 但是GridView分组目前Android SDK没有提供这个功能. 这里我们采用的是第三方库: StickyGridHeadersGridView 可以前往github下载.
部分代码片段 , main.xml
<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" android:background="@color/bg_activity"> <include layout="@layout/titlebar"/> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ListView android:id="@+id/category_left_lstv" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="3" android:choiceMode="singleChoice" android:divider="@color/separator_line" android:dividerHeight="1px" android:listSelector="#00000000" android:scrollbars="none" > </ListView> <com.tonicartos.widget.stickygridheaders.StickyGridHeadersGridView android:id="@+id/category_right_gdvv" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/margin_space" android:layout_marginRight="@dimen/margin_space" android:layout_weight="1" android:numColumns="3" android:listSelector="@android:color/transparent" android:background="@color/bg_activity" android:scrollbars="none"/> </LinearLayout> </LinearLayout>
代码中使用StickyGridHeadersGridView
mLeftLstv = (ListView)view.findViewById(R.id.category_left_lstv); mRightGdv = (StickyGridHeadersGridView)view.findViewById(R.id.category_right_gdvv); mRightGdv.setAreHeadersSticky(false); //设置标题栏不随着列表滑动而滑动 mLeftAdapter = new SPCategoryLeftAdapter(getActivity()); mRightAdapter = new SPCategoryRightAdapter(getActivity()); mLeftLstv.setAdapter(mLeftAdapter); mRightGdv.setAdapter(mRightAdapter);
关键是Adapter的实现:
Adapter需要实现implements StickyGridHeadersSimpleAdapter接口, 并实现以下两个方法:
public long getHeaderId(int position)
标题ID , 如果该ID与上一ID不同就会调用的getHeaderView创建一个HeadView
public View getHeaderView(int position, View convertView, ViewGroup parent)
该函数返回一个HeadView布局文件.
@Override public long getHeaderId(int position) { SPCategory parentCategory = mCategoryLst.get(position).getParentCategory(); return parentCategory.getId() ; } @Override public View getHeaderView(int position, View convertView, ViewGroup parent) { HeaderViewHolder headerHolder; if (convertView == null) { headerHolder = new HeaderViewHolder(); convertView = LayoutInflater.from(mContext).inflate(R.layout.category_grid_title_item, parent, false); headerHolder.titleTxtv = (TextView) convertView.findViewById(R.id.catelogy_right_title_txtv); convertView.setTag(headerHolder); } else { headerHolder = (HeaderViewHolder) convertView.getTag(); } SPCategory parentCategory = mCategoryLst.get(position).getParentCategory(); headerHolder.titleTxtv.setText(parentCategory.getName()); return convertView; }
完整源码下载地址: demo tpshop安卓源码下载
相关推荐
在这个“微信小程序开发-仿京东首页案例源码.zip”压缩包中,包含了一个模仿京东商城首页的微信小程序开发示例。这个案例将帮助开发者了解如何在微信小程序中构建类似电商应用的界面和功能。 首先,我们要理解微信...
仿京东app 采用组件化架构 屏幕适配方案可以较好解决多分辨率及同分辨率不同dpi适配; 全新组件化架构升级,相比之前的方案模块间更为解耦且使用更为方便 本项目为仿京东项目,资源为抓包获取,项目框架采用路由框架...
这个文件可能是项目源码的主分支或者包含了项目的详细说明和指南。 总之,这个"手机app商城仿京东(源码)"项目涵盖了移动应用开发的多个核心领域,对于学习电商应用开发和提升相关技能的开发者来说,是一个宝贵的...
《基于Ionic3构建的仿京东商城源码解析》 在移动应用开发领域,Ionic框架以其强大的功能和跨平台特性受到了广泛关注。本篇文章将深入探讨一个使用Ionic3开发的仿京东商城源码,这对于想要学习和掌握Ionic3技术的...
在IT行业中,仿京东app开发是一项常见的项目,旨在构建类似京东的移动购物应用。这个项目不仅对于初学者来说是极好的学习资源,也是经验丰富的开发者提升技能和实践新设计模式的平台。通过分析和理解这样的源码,...
在仿京东的项目中,这个启动页可能被设计得与京东App一致,包括动画效果、色彩搭配以及过渡到主界面的逻辑。 在前端开发方面,仿京东界面会涉及以下几个关键知识点: 1. **响应式设计**:京东界面需要适应不同设备...
vue前端项目实战案例,前端期末大作业,毕业设计源码 vue前端项目实战案例,前端期末大作业,毕业设计源码 vue前端项目实战案例,前端期末大作业,毕业设计源码 vue前端项目实战案例,前端期末大作业,毕业设计源码 ...
【标题】"uniapp实现,小程序app端仿京东,淘宝,苏宁易购等功能的电商项目-vue_uniapp_shoppp.zip"所代表的是一个使用uniapp框架开发的电商项目,旨在模仿京东、淘宝和苏宁易购等知名电商平台的功能。uniapp是一个...
【标题】"仿京东分类菜单"是一个编程项目,旨在实现类似京东电商平台的分类导航功能。在电商应用中,分类菜单通常用于帮助用户快速找到他们感兴趣的商品类别,提高用户体验。这个项目可能包括了多层次的分类展示,...
【仿京东安卓源码】项目是一个专门为Android平台设计的应用程序,其主要目标是复现京东商城的用户界面和部分功能,以供学习和参考。这个项目对于那些希望深入理解Android应用开发,特别是对电商类应用界面设计感兴趣...
【标题】"仿京东到家H5前端vue源码.zip"揭示了这是一个使用Vue.js框架构建的、模仿京东到家H5页面的前端项目。Vue.js是目前非常流行的一个JavaScript库,尤其适合构建用户界面。它以其轻量级、易上手、组件化开发的...
至于仿京东分类列表的部分,这通常会涉及到一个具有滚动功能的列表组件,可能包含多个级别的分类。我们可以使用Better Scroll库来处理滚动效果,它提供了丰富的滚动功能,如滚动、回弹、惯性滑动等。在`class.vue`...
【标题】: "2021-基于微信小程序仿京东购物商城app设计" 在这个项目中,开发者使用微信小程序平台,参照京东购物商城的界面和功能,进行了一次全面的模仿设计。微信小程序作为轻量级的应用开发框架,具有无需安装、...
本文将详细探讨基于微信小程序的京东购物商城应用的设计与实现,该系统是为毕业论文而构建的源码项目。在微信小程序的框架下,我们利用Java作为后端开发语言,Eclipse作为开发工具,以及MySQL数据库来存储和管理数据...
【Android仿京东源码】项目是一个用于学习和参考的Android应用程序开发实例,它模拟了京东商城的用户界面和部分功能。这个项目对于Android开发者来说是一个很好的学习资源,可以帮助他们理解和实现电商应用的基本...
【标题】"仿京东源码Android"所涉及的是一个针对Android平台开发的项目,其核心目的是复制并模仿京东商城的应用程序功能和用户体验。这个源代码是开发者或学习者研究和理解移动电商应用开发的一个宝贵资源。 【描述...
基于nodejs+mysql实现的仿京东商城app项目 前端 页面结构(H5,CSS3,原生JS) 框架(基于Vue脚手架:vue-cli)进行搭建 数据请求处理框架(Axios) Vue-Router进行路由处理 Vue-LazyLoad进行图片赖加载 服务端 选用NodeJs...
【描述】:“net仿京东大型商城完整源码.rar”描述的是一个.NET平台下的电商项目源代码,通常这样的源码能够为开发者提供学习和参考的实例,帮助他们理解和实践如何构建大型电子商务平台。它可能包括前后端交互、...
仿京东App 5.在线音乐播放器 6.仿哔哩哔哩B站 7.地图拖拽区域检测效果 8.手写签名 9.语音识别 10.自定义图形库 11.绘图框架:MPAndroidChart 12.高德地图导航 13.高德地图多路线规划 14.Meterail Design风格商城 ...
这个“Android仿京东地址省市区选择器源码”就是一个专门为此目的设计的工具,它能够方便地让用户通过级联选择的方式快速选定省份、城市和区县,而无需手动输入。 该源码是基于Android Studio进行开发的,这意味着...