android商品属性选择标签控件,可实现自动换行

本文分享了一个适用于电商项目的商品属性选择demo,利用AutoFlowLayout控件实现自动换行、单选功能。代码简洁,无需额外依赖,方便集成到项目中。提供了项目源码和下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、demo功能

在电商项目中,商品属性选择是必不可少的,而且属性的数目和长度不是固定的,就有了 “标签选择”。以下我就借用了开源的AutoFlowLayout控件,根据商品属性选择要求写了这个demo,和大家分享

二、代码介绍

1.功能

AutoFlowLayout具有很多功能,比如自动换行,支持单选/多选,支持行居中/靠左显示,支持单行/多行显示,支持子View点击/长按事件,支持添加/删除子View,等等,如果感兴趣,自己可以去研究下,
下面附下AutoFlowLayout开源项目demo的地址:
http://www.jcodecraeer.com/a/opensource/2017/0806/8346.html
此demo功能比较齐全,因我的项目里一些功能不需要,所以我就把商品属相所需要的标签单选,默认选中第一个标签,选择颜色改变功能进行摘取,完善;
写了此demo,代码简单,不需要依赖,方便用在项目中,希望对大家有用;

2.使用
布局文件:
    <com.ss.goodsattributeselect.AutoFlowLayout
        android:id="@+id/afl_cotent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
 主activity
 //动态添加每个Tag
 for (int i = 0; i< mData.length; i ++ ){
     View item = LayoutInflater.from(this).inflate(R.layout.attribute_item, null);
     TextView tvAttrTag = (TextView) item.findViewById(R.id.tv_attr_tag);
     tvAttrTag.setText(mData[i]);
     mFlowLayout.addView(item);
 }
 
//默认第一个为选中状态
mFlowLayout.getChildAt(0).setSelected(true);
attribute = mData[0];

//item点击事件
 mFlowLayout.setOnItemClickListener(new AutoFlowLayout.OnItemClickListener() {
 @Override
 public void onItemClick(int position, View view) {
	  //当选中别的item时,将默认第一个选中去掉
	  if (position != 0){  
           mFlowLayout.getChildAt(0).setSelected(false);
       }
      //当连续点击相同的item时,防止取消选中
     if (attribute.equals(mData[position])){              
     mFlowLayout.getChildAt(position).setSelected(true);
     }
     attribute = mData[position];
     }
 });
3.效果图

默认选中第一个
这里写图片描述

可自由选择商品属性
这里写图片描述

下面附上demo下载地址:
http://download.csdn.net/download/shanshan_1117/10130106

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值