Android 购物选择颜色(尺码)实现(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxw136511485/article/details/40892065

     好久都没写博客了,一直忙于公司的项目,这几天有时间所以写点东西,和大家相互学习一下!写的不好的话,还望见谅!

    在公司做的项目一直是有关手机购物方面的,所以就会碰到购买东西时,需要选择商品的颜色、尺码、类型等等属性,有时间就研究了一下淘宝的实现。首先看看淘宝的效果图,如下图

  大概看了一下淘宝的效果,发现一行显示的个数(列数)会跟着商品属性的文字(选择框里面的内容)长度变化而变化,简单来说就是列数是个变化值,不是固定值,并且发现最多显示的5列,最少显示2列(我自己的观察,可能会有出入)这样的规律。淘宝的效果已经看见了,那么我就自己研究了一下,想用一种简单的方法去实现这样效果,(这样的效果肯定有好多种实现方式),首先看看我做的效果图(暂时还不会做gif,所以目前就是静态图,望大家见谅),效果图如下所示:


    现在我们直接进入主题,看看具体现实吧!

    1.新建Android项目。

    

    2.打开布局文件activity_main.xml,该布局文件是主界面布局。实现这样的效果,我选择了一种比较简单的方法(其他比较复杂的方法,暂时没实现O(∩_∩)O~),就用GridView组件。

    3.在layou文件夹中新建布局gridview_item.xml文件,该布局文件主要是设置GridView的item布局,主要是一个TextView显示商品属性,

    该布局中用到了shape1.xml文件  ,该xml文件是选择框的效果布局,同样还有另一个shape2.xml文件,一个默认的效果,一个选中的效果。这两个xml,此处暂不列出,后面的源码会有实现。

    3.新建一个Bean类,用来封装加载显示的数据。该商品属性类用3个属性,代码中会详细讲解为何这样建bean.

    4.最主要的类,MainActivity,该类包含了所有的实现,代码如下。


    代码实现比较简单,并且还有注释。需要解释的地方,有一处findMaxLength(),该方法是计算商品属性名称的最大长度,目的是为了设置GridView显示的列数,我自己摸索的规则是这样的(大家可以自己去随意改):

(1).商品属性名称最大的长度小于4时,显示5列;

(2).商品属性名称最大的长度等于4时,显示4列;

(3).商品属性名称最大的长度等于5时,显示3列;

(4).商品属性名称最大的长度大于5时,显示2列;

    这样基本上已经完成了效果。要是还有什么问题,可以给我留言!

    可能有的朋友看完文章或者下载完代码后,发现和淘宝的效果完全不一样,是的,确实是这样的,这篇文章只是简单的介绍了思路以及实现了点击效果,但是没有做到颜色、尺码、库存联动,所以请看我的这篇文章, Android 购物选择颜色、尺码实现(二)

   PS:项目下载地址


没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭