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

来源:互联网 发布:炫酷html5引导页源码 编辑:程序博客网 时间:2024/05/19 18:42

一 .这里是承接学习笔记 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
原创粉丝点击