【Android开发—电商系列】(二):仿淘宝商品属性标签页

本文介绍了如何在Android中实现电商商品属性标签页,动态加载颜色、尺码等属性,并且标签能根据内容自动换行。通过自定义ViewGroup,重写onMeasure和onLayout方法,结合ListView的Adapter实现这一功能。

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

一睹为快

      这里写图片描述

需求

1.动态加载属性,如尺码,颜色,款式等

  由于每件商品的属性是不确定的,有的商品的属性是颜色和尺码,有的是口味,有的是大小,所以这些属性不能直接写死到页面上。

2.动态加载属性下的标签

  每个属性下的标签个数也不是一定的,比如有的商品的尺码是是S,M,XL,有的是均码,也就是每种属性的具体的内容是不一定的。

技术点

自定义ViewGroup,使其中的TextView可以依据内容长短自动换行,如下图所示

     这里写图片描述

实现

布局

通过ListView来显示商品所有属性,每种属性作为ListView的Item。

 <!-- 商品规格列表 -->
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"        
        android:background="#FFFFFFFF"
        >
         <ListView 
             android:id="@+id/lv_property"           
             android:layout_width="fill_parent"
             android:layout_height="match_parent"
             android:layout_marginLeft="5dp"
              android:layout_marginRight="5dp"
             android:divider="#C0C0C0"
             android:dividerHeight="0.5px"
             android:listSelector="#00000000">

        </ListView> 
    </LinearLayout>

自定义ViewGroup

普通的LinearLayout只能横向和纵向显示控件,但是当一行显示不够时,无法自动换行,需要我们自定义布局容器。

package jczb.shoping.common;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;

public class MyViewGroup extends ViewGroup {
   



     private final static int VIEW_MARGIN=15;

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

     public MyViewGroup(Context context) {
         super(context);
     }
     @Override
     protected
评论 68
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值