Item  布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="match_parent"
  5. android:layout_height="120dp">
  6. <ImageView
  7. android:id="@+id/relevantrecommendations_iv"
  8. android:layout_width="150dp"
  9. android:layout_height="120dp"
  10. android:scaleType="center"
  11. android:src="@drawable/psb"
  12. />
  13. <TextView
  14. android:id="@+id/relevantrecommendations_tv"
  15. android:layout_width="match_parent"
  16. android:layout_height="match_parent"
  17. android:gravity="center_vertical"
  18. android:text="title"
  19. android:textSize="20sp"
  20. />
  21. </LinearLayout>

MyRecyclerView >> MyAdapter >> ViewHolder

  1. /* Project 为一个javaBean*/
  2. public class MyRecyclerView extends RecyclerView{
  3. private Context context;
  4. private List<Project> projectList = new ArrayList<>();
  5. public MyRecyclerView(Context context, @Nullable AttributeSet attrs) {
  6. super(context, attrs);
  7. this.context = context;
  8. initProject();
  9. LinearLayoutManager layoutManager = new LinearLayoutManager(context);
  10. this.setLayoutManager(layoutManager);
  11.  
  12. MyAdapter myAdapter = new MyAdapter(projectList);
  13. this.setAdapter(myAdapter);
  14. }
  15. private void initProject() {
  16. /**
  17. *
  18. * 获取数据
  19. */
  20. String imageURL = "http://f.hiphotos.baidu.com/image/pic/item/35a85edf8db1cb13f423dfa0d154564e92584b3f.jpg";
  21. String videoURL = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov";
  22. Project project = new Project(1,"AA",imageURL,videoURL,0,0,"BB");
  23. projectList.add(project);
  24. projectList.add(project);
  25. projectList.add(project);
  26. projectList.add(project);
  27. projectList.add(project);
  28. projectList.add(project);
  29. projectList.add(project);
  30. projectList.add(project);
  31. }
  32. class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{
  33. private List<Project> projectList;
  34.  
  35. public MyAdapter(List<Project> projectList) {
  36. this.projectList = projectList;
  37. }
  38.  
  39. @NonNull
  40. @Override
  41. public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  42. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.relevantrecommendationsitem,parent,false);
  43. ViewHolder holder = new ViewHolder(view);
  44. return holder;
  45. }
  46.  
  47. @Override
  48. public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  49. Project project = projectList.get(position);
  50. Glide.with(context).load(project.getImageURL()).into(holder.projectImage);
  51. holder.projectText.setText(project.getTitle());
  52. }
  53. @Override
  54. public int getItemCount() {
  55. return projectList.size();
  56. }
  57.  
  58. public class ViewHolder extends RecyclerView.ViewHolder {
  59. ImageView projectImage;
  60. TextView projectText;
  61. public ViewHolder(View itemView) {
  62. super(itemView);
  63. projectImage = itemView.findViewById(R.id.relevantrecommendations_iv);
  64. projectText = itemView.findViewById(R.id.relevantrecommendations_tv);
  65. }
  66. }
  67. }
  68. }

RecyclerView 可以与CollapsingToolbarLayout一起使用的更多相关文章

  1. 基于MaterialDesign设计风格的妹纸app的简单实现

    代码地址如下:http://www.demodashi.com/demo/11644.html *今天看了郭神的第二行代码,深深的被MaterialDesign的设计风格所吸引,然后就照例做了一个小D ...

  2. CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout使用

    本文介绍Design Support Library中CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout的使用. 先列出了Design S ...

  3. 【转】Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用

    Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用 分类: Android UI ...

  4. 安卓Design包之CollapsingToolbarLayout(可折叠的工具栏布局)的简单使用

    转自: CollapsingToolbarLayout的使用 注意:使用前需要添加Design依赖包,使用toolbar时需要隐藏标题头 CollapsingToolbarLayout作用是提供了一个 ...

  5. 【腾讯Bugly干货分享】RecyclerView 必知必会

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/CzrKotyupXbYY6EY2HP_dA 导语 Re ...

  6. CollapsingToolbarLayout

    CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在Collapsin ...

  7. DrawerLayout、CoordinatorLayout、CollapsingToolbarLayout的使用--AndroidSupportDesign练手

    先po一张效果图 PS:原谅题主的懒惰吧.. 看着是不是很酷炫,那是因为5.0的动画做得好,代码其实没有多少,搞清楚这个布局的层次关系很重要. 废话不多说了,先来看布局文件 最外层是一个DrawerL ...

  8. Material Design学习-----CollapsingToolbarLayout

    博客引用(http://www.open-open.com/lib/view/open1438265746378.html) CollapsingToolbarLayout为我们提供了一个很方便的顶部 ...

  9. Material Design之CollapsingToolbarLayout使用

    CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在Collapsin ...

随机推荐

  1. Codeforces Gym101572 G.Galactic Collegiate Programming Contest (2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017))

    Problem G Galactic Collegiate Programming Contest 这个题题意读了一会,就是几个队参加比赛,根据实时的信息,问你1号队的实时排名(题数和罚时相同的时候并 ...

  2. 一起来学Spring Cloud | 第六章:服务网关 ( Zuul)

    本章节,我们讲解springcloud重要组件:微服务网关Zuul.如果有同学从第一章看到本章的,会发现我们已经讲解了大部分微服务常用的基本组件. 已经讲解过的: 一起来学Spring Cloud | ...

  3. Xamarin.Forms的相对布局RelativeLayout

    Xamarin.Forms的相对布局RelativeLayout   相对布局RelativeLayout是App中常用的布局方式.它是以界面中的某个元素为基准,设置另外一个元素的位置和大小.通过这种 ...

  4. JavaWeb过滤器.监听器.拦截器-?原理&区别

    过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”,关心你想要拒绝掉哪些东西,比如一个BBS论坛上拦截掉敏感词汇. 1.拦截器是基于java的反射机制,过 ...

  5. 文件夹浏览(SHBrowseForFolder)

    from http://www.cnblogs.com/Clingingboy/archive/2011/04/16/2018284.html 一.首先要为SHBrowseForFolder准备一个结 ...

  6. TSimpleMsgPack的样例代码

    TSimpleMsgPack的样例代码 unit uMain; interface uses SimpleMsgPack, Windows, Messages, SysUtils, Variants, ...

  7. NSThread学习

    使用多线程可以防止主线程阻塞.同时也可以将一个大的任务分成若干个小的任务去做. 常用方法一: 1, 首先使用  detachNewThreadSelector:toTarget:withObject: ...

  8. Swift:闭包(Closures)

    一. 基本概念 闭包(Closures)是自包括的功能代码块,能够在代码中使用或者用来作为參数传值. 在Swift中的闭包与C.OC中的blocks和其他编程语言(如C#)中的lambda, java ...

  9. Dubbo简介及实例

    节点角色说明: Ø  Provider: 暴露服务的服务提供方. Ø  Consumer: 调用远程服务的服务消费方. Ø  Registry: 服务注册与发现的注册中心. Ø  Monitor: 统 ...

  10. python 使用cx-freeze打包程序

    python环境 3.6.5      win7   linux环境同理 先尝试了PyInstaller   ,打包时一直提示 no module named gtk   而gtk 又依赖pygobj ...