package com.xunpige.myapplication.fragment; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.text.TextPaint; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.daimajia.slider.library.SliderLayout; import com.daimajia.slider.library.SliderTypes.BaseSliderView; import com.daimajia.slider.library.SliderTypes.DefaultSliderView; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.nostra13.universalimageloader.core.ImageLoader; import com.xunpige.myapplication.R; import com.xunpige.myapplication.adapter.HomeGoodBrandAdapter; import com.xunpige.myapplication.adapter.HomeGoodHotAdapter; import com.xunpige.myapplication.adapter.HomeGoodNewAdapter; import com.xunpige.myapplication.bean.HomeAdvertiseEntity; import com.xunpige.myapplication.manager.MainHomeADManager; import com.xunpige.myapplication.ui.BannerDetailUI; import com.xunpige.myapplication.ui.BrandStreetDetailsUI; import com.xunpige.myapplication.ui.BrandStreetListUI; import com.xunpige.myapplication.ui.ProductCategoryUI; import com.xunpige.myapplication.ui.ProductDetailsUI; import com.xunpige.myapplication.ui.ProductSelectUI; import com.xunpige.myapplication.ui.PublishProductSortUI; import com.xunpige.myapplication.ui.PublishWantsUI; import com.xunpige.myapplication.ui.SearchUI; import com.xunpige.myapplication.ui.base.BaseFragment; import com.xunpige.myapplication.utils.NetUtils; import com.xunpige.myapplication.utils.ToastUtils; import java.util.HashMap; import java.util.List; /** * Created by Administrator on 2015/12/29 0029. */ public class HomeFragment extends BaseFragment implements BaseSliderView.OnSliderClickListener, View.OnClickListener { @ViewInject(R.id.rv_home_brand) private android.support.v7.widget.RecyclerView rv_home_brand; @ViewInject(R.id.rv_home_new) private android.support.v7.widget.RecyclerView rv_home_new; @ViewInject(R.id.rv_home_hot) private android.support.v7.widget.RecyclerView rv_home_hot; @ViewInject(R.id.tv_find_skin) private TextView tv_find_skin; @ViewInject(R.id.ll_home_find_skin) private LinearLayout ll_home_find_skin; @ViewInject(R.id.ll_people_make) private RelativeLayout ll_people_make; @ViewInject(R.id.ll_true_skin) private RelativeLayout ll_true_skin; @ViewInject(R.id.ll_micro_line) private RelativeLayout ll_micro_line; @ViewInject(R.id.ll_good_brand) private LinearLayout ll_good_brand; @ViewInject(R.id.ll_home_new) private LinearLayout ll_home_new; @ViewInject(R.id.ll_home_hot) private LinearLayout ll_home_hot; @ViewInject(R.id.tv_home_search) private TextView tv_home_search; @ViewInject(R.id.ll_message) private LinearLayout ll_message; //人造革 @ViewInject(R.id.iv_people_make) private ImageView iv_people_make; //真皮 @ViewInject(R.id.iv_true_skin) private ImageView iv_true_skin; //超纤 @ViewInject(R.id.iv_micro_line) private ImageView iv_micro_line; private SliderLayout slider; //广告轮播图数据 private List<homeadvertiseentity adsbean="" listbean=""> adsList; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_home, null); slider = (SliderLayout) v.findViewById(R.id.slider); return v; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); ViewUtils.inject(this, view); initViews(); initListener(); //加载首页数据 loadAdData(); } private void initViews() { //设置布局样式 rv_home_brand.setLayoutManager(new GridLayoutManager(getActivity(), 3)); rv_home_new.setLayoutManager(new GridLayoutManager(getActivity(), 3)); rv_home_hot.setLayoutManager(new LinearLayoutManager(getActivity())); //一键找皮粗体显示 TextPaint paint = tv_find_skin.getPaint(); //设置画笔为粗体 paint.setFakeBoldText(true); } private void initListener() { ll_home_find_skin.setOnClickListener(this); ll_people_make.setOnClickListener(this); ll_true_skin.setOnClickListener(this); ll_micro_line.setOnClickListener(this); ll_good_brand.setOnClickListener(this); ll_home_new.setOnClickListener(this); ll_home_hot.setOnClickListener(this); tv_home_search.setOnClickListener(this); } private void loadAdData() { //组装请求参数 HashMap<string string=""> dataMap = new HashMap<string string="">(); dataMap.put("ckey", ""); dataMap.put("man", "0"); dataMap.put("mod", "0"); dataMap.put("lon", "0"); dataMap.put("lat", "0"); dataMap.put("an", "1.3"); dataMap.put("pf_ver", "1.3"); dataMap.put("pf", "android"); dataMap.put("ts", ts); dataMap.put("sid", sid); dataMap.put("dno", dno); String sign = NetUtils.getSign(dataMap); dataMap.put("sign", sign); MainHomeADManager mainHomeADManager = new MainHomeADManager(); mainHomeADManager.loadHomeAd(new MainHomeADManager.ADDataListener() { @Override public void advertiseSuccess(HomeAdvertiseEntity HomeAdvertiseEntity) { showAdvertiseUI(HomeAdvertiseEntity); } @Override public void advertiserFail(String msg) { ToastUtils.showShort(msg); } }, getActivity(), dataMap); } private void showAdvertiseUI(HomeAdvertiseEntity homeAdvertiseEntity) { if (homeAdvertiseEntity != null) { //处理轮播图数据,处理点击事件 HomeAdvertiseEntity.AdsBean ads = homeAdvertiseEntity.getAds(); adsList = ads.getList(); if (adsList.size() > 0 && adsList != null) { for (int i = 0; i < adsList.size(); i++) { DefaultSliderView defaultSliderView = new DefaultSliderView(getContext()); defaultSliderView.image(adsList.get(i).getPic()).setOnSliderClickListener(HomeFragment.this).setScaleType(BaseSliderView.ScaleType.Fit); slider.addSlider(defaultSliderView); slider.setPresetTransformer(SliderLayout.Transformer.Default);//设置翻页的效果 slider.setPresetIndicator(SliderLayout.PresetIndicators.Right_Bottom);//设置圆点的位置 slider.setDuration(3000);//轮播时间 } } HomeAdvertiseEntity.CategorysBean categorys = homeAdvertiseEntity.getCategorys(); List<homeadvertiseentity categorysbean="" listbean=""> categorysList = categorys.getList(); //获取人造革图片 HomeAdvertiseEntity.CategorysBean.ListBean listBean2 = categorysList.get(2); String pic = listBean2.getPic(); if (TextUtils.isEmpty(pic)) { ImageLoader.getInstance().displayImage(pic, iv_people_make); } //获取真皮 HomeAdvertiseEntity.CategorysBean.ListBean listBean1 = categorysList.get(1); String trueSkinPic = listBean1.getPic(); if (TextUtils.isEmpty(trueSkinPic)) { ImageLoader.getInstance().displayImage(trueSkinPic, iv_true_skin); } //获取超纤 HomeAdvertiseEntity.CategorysBean.ListBean listBean0 = categorysList.get(0); String microLinePic = listBean0.getPic(); if (TextUtils.isEmpty(microLinePic)) { ImageLoader.getInstance().displayImage(microLinePic, iv_micro_line); } //获取品牌馆数据 HomeAdvertiseEntity.BrandsBean brands = homeAdvertiseEntity.getBrands(); List<homeadvertiseentity brandsbean="" listbean=""> brandsList = brands.getList(); HomeGoodBrandAdapter homeGoodBrandAdapter = new HomeGoodBrandAdapter(getActivity(), brandsList); rv_home_brand.setAdapter(homeGoodBrandAdapter); homeGoodBrandAdapter.setOnItemClickListener(new HomeGoodBrandAdapter.MyItemClickListener() { @Override public void onItemClick(View view, int position) { startActivity(new Intent(getActivity(), BrandStreetListUI.class)); } }); //获取最新上架产品数据 HomeAdvertiseEntity.NewGoodsBean new_goods = homeAdvertiseEntity.getNew_goods(); List<homeadvertiseentity newgoodsbean="" listbean=""> new_goodsList = new_goods.getList(); HomeGoodNewAdapter homeGoodNewAdapter = new HomeGoodNewAdapter(getActivity(), new_goodsList); rv_home_new.setAdapter(homeGoodNewAdapter); homeGoodNewAdapter.setOnItemClickListener(new HomeGoodNewAdapter.MyItemClickListener() { @Override public void onItemClick(View view, int position) { startActivity(new Intent(getActivity(), ProductDetailsUI.class)); } }); // 获取热门产品列表数据 HomeAdvertiseEntity.HotGoodsBean hot_goods = homeAdvertiseEntity.getHot_goods(); List<homeadvertiseentity hotgoodsbean="" listbean=""> hot_goodsList = hot_goods.getList(); HomeGoodHotAdapter homeGoodHotAdapter = new HomeGoodHotAdapter(getActivity(), hot_goodsList); rv_home_hot.setAdapter(homeGoodHotAdapter); homeGoodHotAdapter.setOnItemClickListener(new HomeGoodHotAdapter.MyItemClickListener() { @Override public void onItemClick(View view, int position) { startActivity(new Intent(getActivity(), ProductDetailsUI.class)); } }); } } @Override public void onSliderClick(BaseSliderView baseSliderView) { int currentPosition = slider.getCurrentPosition(); HomeAdvertiseEntity.AdsBean.ListBean listBean = adsList.get(currentPosition); String sliderUrl = listBean.getUrl(); //获取图片地址 Intent intent = new Intent(getActivity(), BannerDetailUI.class); intent.putExtra("sliderUrl", sliderUrl); startActivity(intent); } @Override public void onClick(View v) { switch (v.getId()) { //一键找皮 case R.id.ll_home_find_skin: { startActivity(new Intent(getActivity(), PublishWantsUI.class)); } break; //人造革 case R.id.ll_people_make: { Intent intent = new Intent(getActivity(), ProductCategoryUI.class); intent.putExtra("title", "人造革"); startActivity(intent); } break; //真皮 没有纹路选择的 case R.id.ll_true_skin: { Intent intent = new Intent(getActivity(), ProductSelectUI.class); startActivity(intent); } break; //超纤 没有纹路选择的 case R.id.ll_micro_line: { Intent intent = new Intent(getActivity(), ProductSelectUI.class); startActivity(intent); } break; //品牌馆 case R.id.ll_good_brand: { Intent intent = new Intent(getActivity(), BrandStreetListUI.class); startActivity(intent); } break; //新品上架 case R.id.ll_home_new: { Intent intent = new Intent(getActivity(), PublishProductSortUI.class); startActivity(intent); } break; //热卖产品 case R.id.ll_home_hot: { Intent intent = new Intent(getActivity(), ProductSelectUI.class); startActivity(intent); } break; //搜索 case R.id.tv_home_search: { Intent intent = new Intent(getActivity(), SearchUI.class); startActivity(intent); } break; } } //在前台就执行滚动 @Override public void onResume() { super.onResume(); } //到后台就暂停 @Override public void onPause() { super.onPause(); } }