android怎么实现仿京东商品属性筛选功能
发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,这篇"android怎么实现仿京东商品属性筛选功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起
千家信息网最后更新 2025年02月20日android怎么实现仿京东商品属性筛选功能
这篇"android怎么实现仿京东商品属性筛选功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"android怎么实现仿京东商品属性筛选功能"文章吧。
效果:
点击筛选按钮会弹出一个自己封装好的popupWindow,实用方法非常简单;两行代码直接显示;(当然初始化数据除外)
这里和以前用到的流式布局有些不一样:流式布局
以前使用的是单个分类,而且也没有在项目中大量实用;这个筛选功能除了数据外几乎都是从项目中Copy出来的;
整个popupWindow布局就是一个自定义的ListView,这个自定义的listview主要是控制listview的高度;
如果数据少的话就是自适应,如果数据多了就限制高度为屏幕的一半;
自定义的ListView:
public class CustomHeightListView extends ListView { private Context mContext; public CustomHeightListView(Context context) { this(context, null); } public CustomHeightListView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public CustomHeightListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } private void init(Context context) { mContext = context; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { try { //最大高度显示为屏幕内容高度的一半 Display display = ((Activity) mContext).getWindowManager().getDefaultDisplay(); DisplayMetrics d = new DisplayMetrics(); display.getMetrics(d); //设置控件高度不能超过屏幕高度一半(d.heightPixels / 2,下面有清空按钮所以再减200,也可随意换成自己想要的高度) heightMeasureSpec = MeasureSpec.makeMeasureSpec(d.heightPixels / 2 - 200, MeasureSpec.AT_MOST); } catch (Exception e) { e.printStackTrace(); } //重新计算控件高、宽 super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }
ListView中每个item是一个流式布局:
整个popupwindow都封装在一个类中,创建的时候只需把数据源传递过去即可,实用的时候直接show就可以了
flowPopWindow = new FlowPopWindow(MainActivity.this, dictList); flowPopWindow.showAsDropDown(ivBack);
当点击确定的时候直接设置一个监听即可:
flowPopWindow.setOnConfirmClickListener(new FlowPop_Window.OnConfirmClickListener() { @Override public void onConfirmClick() { StringBuilder sb = new StringBuilder(); for (FiltrateBean fb : dictList) { ListcdList = fb.getChildren(); for (int x = 0; x < cdList.size(); x++) { FiltrateBean.Children children = cdList.get(x); if (children.isSelected()) sb.append(fb.getTypeName() + ":" + children.getValue() + ";"); } } if (!TextUtils.isEmpty(sb.toString())) Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_LONG).show(); } }
以上就是关于"android怎么实现仿京东商品属性筛选功能"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
高度
内容
数据
功能
布局
商品
属性
京东
实用
就是
屏幕
时候
按钮
控件
文章
知识
篇文章
项目
封装
最大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
智能化服务器有什么品牌
深圳尚米网络技术有
网络技术横幅
vb和数据库链接代码
html显示数据库二进制图片
杭州小的软件开发公司有哪些
华为数据库
三级网络技术考什么
抖音视频软件开发公司
linux删除数据库表命令
世界网络技术创新
分析服务器安全管理
五华区软件开发咨询报价
中型软件开发公司一般多少平米
阿里云服务器违规检测
广东无线软件开发厂家直销
网络安全管理员五级题库
软件开发的利润一般有多少
益阳口碑好的软件开发价格
优的家庭服务器
服务器加了硬盘重装系统就好么
网络技术安往上海百首网络
软件开发面试过程
什么服务器能玩建筑大师
北京手动软件开发推荐
数据库事务四大特性及特点
虹口区电子网络技术售后保障
django 生产服务器
职校的计算机网络技术大专
学生网络安全教育 研究目标