学习笔记 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
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配Sliderview)
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义home二型)
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义home三型)
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义 模板)
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义care 一型 使用了frecso SimpleDraweeView)
- 学习笔记 Tianmao 篇 recyclerView 的自定义使用
- 学习笔记 Tianmao 篇 RecyclerView.Adapter 的封装
- 学习笔记 Tianmao 篇 SliderLayout 的使用
- 学习心得 Tianmao 篇 RecyclerView.Adapter 我自己的使用理解(类组合模式)
- 学习笔记 Tianmao 篇 OkHttp 网络的使用
- 学习笔记 Tianmao 篇 materialRefreshLayout 下拉刷新 控件的使用
- 学习笔记 Tianmao 篇 FragmentTabHost (TabHost升级版)
- 学习笔记 Tianmao 篇 自定义 ToolBar
- 学习笔记 Tianmao 篇 fresco 图片缓存加载框架
- 学习笔记 Tianmao 篇 SwipeRefreshLayoyt 下拉刷新 控件 使用
- 学习笔记 Tianmao 篇 OkHttp 网络的使用的简单封装 获取Json用GSON来解析
- 学习笔记 Tianmao 篇 使用简单封装后的自定义OkHttp 获取json被GSON解析后的数据
- RecyclerView滑动事件检测的辅助类
- Mybatis学习总结二
- DrawerLayout配合NavigationView简单实现侧滑菜单栏
- Java中的byte与char比较
- Android四大组件之------Service(本地服务小案例)
- 01-复杂度2 Maximum Subsequence Sum (25分)
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配Sliderview)
- PAT--1117. Eddington Number
- 解决Eclipse建Maven项目module无法转换为3.0
- 191. Number of 1 Bits (计算一个整数的二进制表示中有多少个1)
- 10-27-2016
- 开源连接池DBCP解析
- HDU 1848Fibonacci again and again(博弈论:sg函数)
- kafka 消费者代码示例
- Option 和 Select 对象的基本使用