学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配Sliderview)

一 .这里是承接学习笔记 Tianmao 篇 RecyclerView.Adapter 的封装

二.这里只贴RecycleAdapterImpl类代码对应的javabean 和 布局 以及 相应的效果

三.规格为 效果图—Impl类 —javabean —布局

sliderView

1.这里是效果图

这里写图片描述
这里写图片描述

2.Impl类

package pers.lijunxue.tianmao.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.daimajia.slider.library.Animations.DescriptionAnimation;
import com.daimajia.slider.library.SliderLayout;
import com.daimajia.slider.library.SliderTypes.BaseSliderView;
import com.daimajia.slider.library.SliderTypes.TextSliderView;

import java.util.List;

import pers.lijunxue.tianmao.R;
import pers.lijunxue.tianmao.javabean.HomeFirstViewBean;
import pers.lijunxue.tianmao.javabean.HomeFirstViewItemBean;



/**
 * 适配Sliderview
 * Created by rabook on 2016/10/26.
 */

public class HomeFirstRecycleAdapterImpl extends BaseRecycleAdapter {


    private final int VIEW_TYPE = 4;

    private LayoutInflater layoutInflater;

    public HomeFirstRecycleAdapterImpl(List list, Context context) {
        super(list, context);
    }


    @Override
    RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        layoutInflater = LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.home_item_card_view_one, parent, false);
        return new HomeFirstRecycleAdapterImpl.HomeFirstViewHolder(view);

    }

    @Override
    void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        HomeFirstRecycleAdapterImpl.HomeFirstViewHolder homeFirstViewHolder = (HomeFirstRecycleAdapterImpl.HomeFirstViewHolder)holder;
        homeFirstViewHolder.onBind(super.getList(),position,super.getContext());
    }


    // 绑定item布局文件中的子控件 监听动作
    class HomeFirstViewHolder extends RecyclerView.ViewHolder {

        private HomeFirstViewBean homeFirstViewBean;
        private HomeFirstViewItemBean[] items ;
        private SliderLayout sliderLayout;

        private boolean isOnBind = false;
        public HomeFirstViewHolder(View itemView) {

            super(itemView);
            items = new HomeFirstViewItemBean[5];
            sliderLayout = (SliderLayout) itemView.findViewById(R.id.slider);



        }



        public void onBind(List list , int position, Context context){

            if (true == isOnBind)
            {
                return;
            }
            homeFirstViewBean =  (HomeFirstViewBean)list.get(position);
            items [0] = homeFirstViewBean.getOne();
            items [1] = homeFirstViewBean.getTwo();
            items [2] = homeFirstViewBean.getThree();
            items [3] = homeFirstViewBean.getFour();
            items [4] = homeFirstViewBean.getFive();


            TextSliderView textSliderView0 = new TextSliderView(context);
            textSliderView0
                    .description(items [0].getDescription())
                    .image(items [0].getImage())
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            Toast.makeText(getContext(),"你点击了"+items [0].getDescription(), Toast.LENGTH_SHORT).show();
                        }
                    });


            TextSliderView textSliderView1 = new TextSliderView(context);
            textSliderView1
                    .description(items [1].getDescription())
                    .image(items [1].getImage())
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            Toast.makeText(getContext(),"你点击了"+items [1].getDescription(), Toast.LENGTH_SHORT).show();
                        }
                    });


            TextSliderView textSliderView2 = new TextSliderView(context);
            textSliderView2
                    .description(items [2].getDescription())
                    .image(items [2].getImage())
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            Toast.makeText(getContext(),"你点击了"+items [2].getDescription(), Toast.LENGTH_SHORT).show();
                        }
                    });


            TextSliderView textSliderView3 = new TextSliderView(context);
            textSliderView3
                    .description(items [3].getDescription())
                    .image(items [3].getImage())
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            Toast.makeText(getContext(),"你点击了"+items [3].getDescription(), Toast.LENGTH_SHORT).show();
                        }
                    });


            TextSliderView textSliderView4 = new TextSliderView(context);
            textSliderView4
                    .description(items [4].getDescription())
                    .image(items [4].getImage())
                    .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                        @Override
                        public void onSliderClick(BaseSliderView slider) {
                            Toast.makeText(getContext(),"你点击了"+items [4].getDescription(), Toast.LENGTH_SHORT).show();
                        }
                    });

            sliderLayout.addSlider(textSliderView0);
            sliderLayout.addSlider(textSliderView1);
            sliderLayout.addSlider(textSliderView2);
            sliderLayout.addSlider(textSliderView3);
            sliderLayout.addSlider(textSliderView4);


            sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);    //这个为默认的indicator
            //sliderLayout.setCustomIndicator(pagerIndicator);     //自己设置的pagerIndicator点 注意最好在正中间
            sliderLayout.setCustomAnimation(new DescriptionAnimation());                       //动画效果
            sliderLayout.setPresetTransformer(SliderLayout.Transformer.Default);              //设置转动模式,下面的文字说明自动出来
            sliderLayout.setDuration(3000);              //设置动画效果3秒自动转动
            isOnBind = true;

        }
    }
}

3.这是javabean

1.外层
package pers.lijunxue.tianmao.javabean;

/**
 * Created by rabook on 2016/10/22.
 */

public class HomeFirstViewBean extends ViewBean {

    public static final int TYPE = 1;

    public HomeFirstViewBean( HomeFirstViewItemBean one, HomeFirstViewItemBean two, HomeFirstViewItemBean three, HomeFirstViewItemBean four, HomeFirstViewItemBean five) {
        super(TYPE);
        this.one = one;
        this.two = two;
        this.three = three;
        this.four = four;
        this.five = five;
    }

    //json 等解析要用的
    public HomeFirstViewBean() {
        super(TYPE);
    }

    private HomeFirstViewItemBean one ;
    private HomeFirstViewItemBean two ;
    private HomeFirstViewItemBean three ;
    private HomeFirstViewItemBean four ;
    private HomeFirstViewItemBean five ;

    public HomeFirstViewItemBean getOne() {
        return one;
    }

    public HomeFirstViewItemBean getTwo() {
        return two;
    }

    public HomeFirstViewItemBean getThree() {
        return three;
    }

    public HomeFirstViewItemBean getFour() {
        return four;
    }

    public void setTwo(HomeFirstViewItemBean two) {
        this.two = two;
    }

    public void setOne(HomeFirstViewItemBean one) {
        this.one = one;
    }

    public void setThree(HomeFirstViewItemBean three) {
        this.three = three;
    }

    public void setFour(HomeFirstViewItemBean four) {
        this.four = four;
    }

    public HomeFirstViewItemBean getFive() {
        return five;
    }

    public void setFive(HomeFirstViewItemBean five) {
        this.five = five;
    }
}
2.内层
package pers.lijunxue.tianmao.javabean;

/**
 * Created by rabook on 2016/10/26.
 */

public class HomeFirstViewItemBean {

    private String description ;
    private int image;

    public HomeFirstViewItemBean(String description, int image) {
        this.description = description;
        this.image = image;
    }
    public HomeFirstViewItemBean() {

    }


    public void setDescription(String description) {
        this.description = description;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getDescription() {
        return description;
    }

    public int getImage() {
        return image;
    }
}

4.这里是布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.daimajia.slider.library.SliderLayout
        android:id="@+id/slider"
        android:layout_width="match_parent"
        app:pager_animation="Accordion"
        app:auto_cycle="true"
        app:indicator_visibility="visible"
        app:pager_animation_span="1100"
        android:layout_height="150sp">
    </com.daimajia.slider.library.SliderLayout>
</LinearLayout>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值