android开发 RecyclerView 瀑布列表布局
1.写一个内容的自定义小布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp">
<ImageView
android:id="@+id/waterfall_Image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ace"/>
<TextView
android:id="@+id/waterfall_Name_TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这里显示名称"
android:textSize="15sp"
android:textColor="@color/colorBlack"
android:layout_gravity="center_horizontal"/>
<TextView
android:id="@+id/waterfall_contents_TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这里显示内容"
android:textSize="10sp"
android:textColor="@color/colorblue"/> </LinearLayout>
布局预览:
写一个内容适配器class:
package com.example.lenovo.myrecyclerview.RecyclerViewToolkit; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.lenovo.myrecyclerview.R; import java.util.List; /**
* Created by lenovo on 2018/5/2.
*/ public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder> {
private List<ListData> mDataList;
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView imageAvatar;
TextView nameText;
TextView contentsText;
public ViewHolder(View itemView) {
super(itemView);
//注意这里可能需要import com.example.lenovo.myrecyclerview.R; 才能使用R.id
imageAvatar = (ImageView)itemView.findViewById(R.id.waterfall_Image);
nameText =(TextView) itemView.findViewById(R.id.waterfall_Name_TextView);
contentsText = (TextView)itemView.findViewById(R.id.waterfall_contents_TextView);
}
}
public ListAdapter(List<ListData> listDatas){
mDataList = listDatas;
} @Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.waterfall_list_view,
parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
} @Override
public void onBindViewHolder(ViewHolder holder, int position) {
ListData listData = mDataList.get(position);
holder.imageAvatar.setImageResource(listData.getImageView());
holder.nameText.setText(listData.getNameText());
holder.contentsText.setText(listData.getContentsText());
} @Override
public int getItemCount() {
return mDataList.size();
}
}
写一个RecyclerView 瀑布列表布局活动class:
package com.example.lenovo.myrecyclerview; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager; import com.example.lenovo.myrecyclerview.RecyclerViewToolkit.ListAdapter;
import com.example.lenovo.myrecyclerview.RecyclerViewToolkit.ListData; import java.util.ArrayList;
import java.util.List; public class RecyclerViewActivity extends AppCompatActivity {
private List<ListData> listDatas = new ArrayList<>(); //创建数据list @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
addingData(); //导入数据
RecyclerView recyclerView = (RecyclerView)findViewById(R.id.RecyclerView);
//在此处修改布局排列方向
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3,
StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);
ListAdapter listAdapter = new ListAdapter(listDatas); //创建适配器,并且导入数据list
recyclerView.setAdapter(listAdapter);//布局导入适配器
}
//添加数据
public void addingData(){
ListData ace = new ListData(R.drawable.ace,"ace", "波特卡斯·D·艾斯:" +
"烧烧果实的前任能力者,绰号“火拳”,实力强大。");
listDatas.add(ace);
//以下省略..... } }
实现效果图:
android开发 RecyclerView 瀑布列表布局的更多相关文章
- Android开发——RecyclerView特性以及基本使用方法(一)
)关于点击事件,没有像ListView那样现成的API,但是自己封装起来也不难,而且我们使用ListView时,如果item中有可点击组件,那么点击事件的冲突也是一个问题,而在RecyclerView ...
- Android开发——RecyclerView特性以及基本使用方法(二)
0. 前言 随着Android的发展,虽然ListView依旧重要,但RecyclerView确实越来越多的被大家使用.但显然并不能说RecyclerView就一定优于ListView,而是应该根据 ...
- android 开发 RecyclerView 横排列列表布局
1.写一个一竖的自定义布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- android开发 RecyclerView 列表布局
创建一个一行的自定义布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...
- Android开发——RecyclerView实现下载列表
本篇记录的是使用Jsoup框架爬取网页内容,结合Android的RecyclerView,从而实现批量下载小说的功能(也是我的APP星之小说下载器Android版的核心功能),思路仅供参考 本文使用了 ...
- Android开发----RecyclerView视图的学习
RecyclerView RecyclerView是什么? RecyclerView是如今Android开发中最常用的控件,其相较于ListView和GridView的功能更为强大,优化了两者的各种不 ...
- .Net程序猿玩转Android开发---(3)登陆页面布局
这一节我们来看看登陆页面如何布局.对于刚接触到Android开发的童鞋来说.Android的布局感觉比較棘手.须要结合各种属性进行设置,接下来我们由点入面来 了解安卓中页面如何布局,登陆页面非常eas ...
- Android开发 ExpandableListView 可折叠列表详解
前言 在需要实现一个List的item需要包含列表的时候,我们就可以选择ExpandableListView. 其实这个View的原始设计还是ListView的那套.就是增加2层的ListView而已 ...
- .Net程序猿乐Android开发---(4)注册页面布局
接下来我们介绍的登陆页面布局,在本节中,我们看一下注册页面布局,页面布局大同小异,来一起熟悉下基本控件的使用方法. 效果图: 1.加入注冊页面 右键选中layout目录,加入注冊页面.例如以下图 点击 ...
随机推荐
- hadoop行业技术创新解决方案
如今有很多公司都在努力挖掘他们拥有的大量数据,包括结构化.非结构化.半结构化以及二进制数据等,来探索对数据的深入利用. 大多数公司估计他们只分析了已有数据的12%,剩余88%还没有被充分利用.大量的数 ...
- Spring Cloud Feign Ribbon 配置
由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参 ...
- piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)
访客头像 自定义显示访问者头像(URL)和描述(标题和替代) 链接地址:https://plugins.matomo.org/VisitorAvatar#description
- PHP代码实现2 [从变量和数据的角度] 2
常量 常量的数据结构 1234567 typedef struct _zend_constant { zval value; /* zval结构,PHP内部变量的存储结构,在第一小节有说明 */ in ...
- 可用于在 Microsoft.NET Framework 4.0 中的 ASP.NET 浏览器定义文件的修补程序
http://support.microsoft.com/kb/2600088 此修补程序为 Internet Explorer 和 Mozilla Firefox 在浏览器定义文件引入了更新的定义. ...
- 在Python中进行自动化单元测试的教程
From: https://www.jb51.net/article/64119.htm 一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必 ...
- ALGO-141_蓝桥杯_算法训练_P1102
定义一个学生结构体类型student,包括4个字段,姓名.性别.年龄和成绩.然后在主函数中定义一个结构体数组(长度不超过1000),并输入每个元素的值, 程序使用冒泡排序法将学生按照成绩从小到大的顺序 ...
- Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs
原文http://slore.blogbus.com/logs/52627038.htmlSlore编写的这个reg文件转换为bat文件,是逐句转换的,不是通过批处理生成临时reg文件然后导入的方法, ...
- STL基础--算法(修改数据的算法)
修改元素的算法 copy, move, transform, swap, fill, replace, remove vector<int> vec = {9,60,70,8,45,87, ...
- neo4j---删除关系和节点
本文转载自:https://blog.csdn.net/chenjf0221/article/details/70238695 删除节点和节点关系 MATCH (a:key)-[r:KEY_WORD] ...