package com.casic.br.fragment import com.bumptech.glide.Glide import com.casic.br.R import com.casic.br.adapter.ConnectGridAdapter import com.casic.br.adapter.HomeGridAdapter import com.casic.br.model.BannerImageModel import com.casic.br.utils.GridItemDecoration import com.casic.br.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment import com.pengxh.kt.lite.extensions.show import com.youth.banner.Banner import com.youth.banner.adapter.BannerImageAdapter import com.youth.banner.holder.BannerImageHolder import com.youth.banner.indicator.CircleIndicator import com.youth.banner.transformer.AlphaPageTransformer import kotlinx.android.synthetic.main.fragment_home.* import kotlinx.android.synthetic.main.fragment_recommend.* import java.util.* class HomePageFragment : KotlinBaseFragment() { override fun initLayoutView(): Int = R.layout.fragment_home override fun setupTopBarLayout() { } override fun initData() { //TODO 模拟数据 val imageModels = ArrayList<BannerImageModel>() for (i in 0..4) { val model = BannerImageModel() model.imageTitle = "测试轮播图" model.imageLink = "https://img95.699pic.com/photo/40006/1412.jpg_wh860.jpg" imageModels.add(model) } val banner = homeBannerView as Banner<BannerImageModel, BannerImageAdapter<BannerImageModel>> banner.apply { setAdapter(object : BannerImageAdapter<BannerImageModel>(imageModels) { override fun onBindView( holder: BannerImageHolder, data: BannerImageModel, position: Int, size: Int ) { Glide.with(holder.itemView) .load(data.imageLink) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) } }) indicator = CircleIndicator(requireContext()) addPageTransformer(AlphaPageTransformer()) addBannerLifecycleObserver(this@HomePageFragment) //Banner点击事件 setOnBannerListener { imageModel, _ -> "${imageModel.imageTitle}被点击了".show(requireContext()) } } val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) homeRecyclerView.addItemDecoration(GridItemDecoration(requireContext())) homeRecyclerView.adapter = homeAdapter homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { override fun onItemClick(position: Int) { } }) val connectGridAdapter = ConnectGridAdapter( requireContext(), LocaleConstant.CONNECT_IMAGE, LocaleConstant.CONNECT_ARRAY ) connectRecyclerView.addItemDecoration(GridItemDecoration(requireContext())) connectRecyclerView.adapter = connectGridAdapter homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { override fun onItemClick(position: Int) { } }) } override fun initEvent() { } }