一 .这里是承接学习笔记 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>