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

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

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

大概看了一下淘宝的效果,发现一行显示的个数(列数)会跟着商品属性的文字(选择框里面的内容)长度变化而变化,简单来说就是列数是个变化值,不是固定值,并且发现最多显示的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列;

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

PS:项目下载地址

都属于昨天。哪怕那山再青,那水再秀,

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

相关文章:

你感兴趣的文章:

标签云: