RecyclerView的多部局应用
来源:互联网 发布:大数据质量标准 编辑:程序博客网 时间:2024/05/20 16:36
需要依赖一个recyderView包
implementation 'com.android.support:recyclerview-v7:26.1.0'
先写布局这个是自定义布局
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text_Title" /></android.support.constraint.ConstraintLayout>
在适配器中使用布局一种应用
public class ViewHolder_1 extends RecyclerView.ViewHolder{ private TextView textView; private Context context; public ViewHolder_1(View itemView, Context context) { super(itemView); this.context = context; } public ViewHolder_1(View itemView) { super(itemView); textView = itemView.findViewById(R.id.text_Title); } public void rendr(String text){ textView.setText(text); }}
下面是适配器
public class MyAdapter extends SectionedRecyclerViewAdapter<ViewHolder_1,ViewHolder_2,ViewHolder_3>{ private Context context; public MyAdapter(Context context) { this.context = context; } //一共有几个item @Override protected int getSectionCount() { return 5; } @Override protected int getItemCountForSection(int section) { return section+1;//表示条目 } //返回true表示含有脚视图 @Override protected boolean hasFooterInSection(int section) { return true; } //头部的布局 @Override protected ViewHolder_1 onCreateSectionHeaderViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.viewholder_1,parent,false); return new ViewHolder_1(view); } //脚部的布局 @Override protected ViewHolder_3 onCreateSectionFooterViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.viewholder_3,parent,false); return new ViewHolder_3(view); } //中间的布局 @Override protected ViewHolder_2 onCreateItemViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.viewholder_2,parent,false); return new ViewHolder_2(view); } //传向布局一的数据 @Override protected void onBindSectionHeaderViewHolder(ViewHolder_1 holder, int section) { holder.rendr("section"+(section+1)); } //传向脚部布局的数据 @Override protected void onBindSectionFooterViewHolder(ViewHolder_3 holder, int section) { holder.rendr("section"+(section+1)); } //下面是中间的数据 protected int[] colors = new int[]{0xfff44336, 0xff2196f3, 0xff009688, 0xff8bc34a, 0xffff9800}; @Override protected void onBindItemViewHolder(ViewHolder_2 holder, int section, int position) { holder.rendr(String.valueOf(position + 1), colors[section]); }}
下面是主部局进行适配器绑定
public class MainActivity extends AppCompatActivity { @BindView(R.id.recyclerView) RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //创建适配器 MyAdapter myAdapter = new MyAdapter(this); GridLayoutManager grid = new GridLayoutManager(this,2); //设置列的宽度 SectionedSpanSizeLookup se = new SectionedSpanSizeLookup(myAdapter,grid); grid.setSpanSizeLookup(se); //设置布局管理器 recyclerView.setLayoutManager(grid); //并设置适配器 recyclerView.setAdapter(myAdapter); }}
阅读全文
0 0
- RecyclerView的多部局应用
- RecyclerView的其他应用
- recyclerview的应用分析
- recyclerview的简单应用
- Recyclerview的简单应用
- Android recyclerView的应用
- Android的RecyclerView基本应用
- DataBinding的应用之RecyclerView
- recyclerview的适配器简单应用
- RecyclerView 应用
- RecyclerView的拖放和滑动应用
- RecyclerView的简单应用2,仿gridview
- RecyclerView的简单应用3:瀑布流
- Android Material风格的应用(二)--RecyclerView
- 关于RecyclerView的简单应用教程
- retrofit和Rxjava结合 recyclerview的应用
- recyclerview和xrecyclerview的应用与有木有。
- RecyclerView的瀑布流简单应用
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
- python 字符串格式化(format)
- Gson简要使用笔记
- 最大公约数
- Ubuntu14.04安装g2o库(跑高翔大神的14讲的g2o例程时,出现的问题的解决方案)
- RecyclerView的多部局应用
- 学习记录7
- Deformable Convolutional Networks论文翻译——中英文对照
- Ionic环境配置文档
- Ubuntu上用wget多线程下载大文件资源
- 梯度下降法求极小值
- device query 存档
- 微信域名防封技术,微信域名总是被封如何解决
- 2017-12-16杭电OJ2018 《母牛的故事》——这道题用了递归