android仿天猫精品页列表界面WIN8风格列表Listview实现

即将做的项目需要弄天猫的这个效果,于是做了本DEMO。。。。。本代码仿天猫ANDROID客户端,精品页面的列表界面,为了提高开发效率,本代码使用了Afinal框架,用于加载网络图片,为了节省时间,使用了普通的LISTVIEW实现,后续大家可用支持下拉刷新,上拉更多的列表组件替代。本代码绝对可运行。代码编码UTF-8。。。。。

 

 

核心代码:

 

[java][/java] view plaincopy

  1. package android88.app.listview.demo.adapter;
  2. import java.util.List;
  3. import net.tsz.afinal.FinalBitmap;
  4. import android.R.integer;
  5. import android.content.Context;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.BaseAdapter;
  10. import android.widget.ImageView;
  11. import android88.app.listview.demo.R;
  12. public class Win8ListAdapter extends BaseAdapter {
  13.     List<String> _ImgsURL;
  14.     int _ItemCountNumber; // 列表总条数
  15.     int _AItemShowImgNumber = 3; // 列表每条显示图片数
  16.     Context _Context;
  17.     FinalBitmap _FinalBitmap;
  18.     public Win8ListAdapter(Context context, List<String> imgsURL) {
  19.         _Context = context;
  20.         _ImgsURL = imgsURL;
  21.         if (imgsURL.size() % _AItemShowImgNumber == 0) {
  22.             _ItemCountNumber = imgsURL.size() / _AItemShowImgNumber;
  23.         } else {
  24.             _ItemCountNumber = imgsURL.size() / _AItemShowImgNumber + 1;
  25.         }
  26.         _FinalBitmap = FinalBitmap.create(_Context);// 初始化FinalBitmap模块
  27.     }
  28.     @Override
  29.     public int getCount() {
  30.         return _ItemCountNumber;
  31.     }
  32.     @Override
  33.     public Object getItem(int position) {
  34.         return null;
  35.     }
  36.     @Override
  37.     public long getItemId(int position) {
  38.         return position;
  39.     }
  40.     static class ViewHold {
  41.         ImageView subImageView1;
  42.         ImageView subImageView2;
  43.         ImageView subImageView3;
  44.     }
  45.     @Override
  46.     public View getView(int position, View convertView, ViewGroup parent) {
  47.         ViewHold _ViewHold = new ViewHold();
  48.         if (position % 2 == 0) {
  49.             convertView = LayoutInflater.from(_Context).inflate(
  50.                     R.layout.item_one, null);
  51.         } else {
  52.             convertView = LayoutInflater.from(_Context).inflate(
  53.                     R.layout.item_two, null);
  54.         }
  55.         _ViewHold.subImageView1 = (ImageView) convertView
  56.                 .findViewById(R.id.subItem1);
  57.         _ViewHold.subImageView2 = (ImageView) convertView
  58.                 .findViewById(R.id.subItem2);
  59.         _ViewHold.subImageView3 = (ImageView) convertView
  60.                 .findViewById(R.id.subItem3);
  61.         for (int i = 0; i < _AItemShowImgNumber; i++) {
  62.             int index = position * _AItemShowImgNumber + i;
  63.             if (index >= _ImgsURL.size()) {
  64.                 break;
  65.             } else {
  66.                 if (i == 0) {
  67.                     _ViewHold.subImageView1.setVisibility(View.VISIBLE);
  68.                     _FinalBitmap.display(_ViewHold.subImageView1, _ImgsURL.get(index));
  69.                 } else if (i == 1) {
  70.                     _ViewHold.subImageView2.setVisibility(View.VISIBLE);
  71.                     _FinalBitmap.display(_ViewHold.subImageView2, _ImgsURL.get(index));
  72.                 } else if (i == 2) {
  73.                     _ViewHold.subImageView3.setVisibility(View.VISIBLE);
  74.                     _FinalBitmap.display(_ViewHold.subImageView3, _ImgsURL.get(index));
  75.                 }
  76.             }
  77.         }
  78.         return convertView;
  79.     }
  80. }

 

 

代码下载地址:

http://download.csdn.net/detail/java886o/6201613

 

代码运行效果:

 

标签