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">
<ImageView
android:id="@+id/horizontalImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ace"
android:layout_margin="5dp"/>
<TextView
android:id="@+id/horizontalTextViewName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这里显示名称"
android:textColor="@color/colorBlack"
android:textSize="20sp"
android:layout_gravity="center"/>
<TextView
android:id="@+id/horizontalTextViewContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这里显示描述内容描述内容描述内容描述内容"
android:textColor="@color/colorblue"
android:layout_gravity="left"
android:maxLines="3"
android:maxLength="10"
android:ellipsize="end"/> </LinearLayout>
预览效果:
2.写一个适配器的类
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.horizontalImageView);
nameText =(TextView) itemView.findViewById(R.id.horizontalTextViewName);
contentsText = (TextView)itemView.findViewById(R.id.horizontalTextViewContent); }
}
public ListAdapter(List<ListData> listDatas){
mDataList = listDatas;
} @Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_horizontal_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();
}
}
3.在RecyclerView 横排列列表布局 活动类中,将RecyclerView 排列方式修改成横向。
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 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<>(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
addingData();
RecyclerView recyclerView = (RecyclerView)findViewById(R.id.RecyclerView);
//在此处修改布局排列方向
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(layoutManager);
ListAdapter listAdapter = new ListAdapter(listDatas);
recyclerView.setAdapter(listAdapter);
}
public void addingData(){
ListData ace = new ListData(R.drawable.ace,"ace", "波特卡斯·D·艾斯:" +
"烧烧果实的前任能力者,绰号“火拳”,实力强大。");
listDatas.add(ace);
ListData arlong = new ListData(R.drawable.arlong,"arlong",
"恶龙海贼团:”由一群离开王下七武海之一甚平统治的鱼人所组成的海贼团,海贼船名为“鲨鱼˙斯帕布号”," +
"船头放置著和恶龙一样的锯齿状鼻子,由于总是到处上岸杀戮,成为恐怖和霸权的象征。");
listDatas.add(arlong);
ListData barbe_blanche = new ListData(R.drawable.barbe_blanche,"barbe_blanche",
"爱德华·纽盖特:外号“白胡子”。“四皇”之一(生前),白胡子海贼团的船长,实力极其强劲,被称为「世界最强男人」。" +
"能力是被誉为最强超人系的震震果实,武器为薙刀。");
listDatas.add(barbe_blanche);
//以下略。。。。。。。。。。 } }
运行效果:
android 开发 RecyclerView 横排列列表布局的更多相关文章
- Android开发——RecyclerView实现下载列表
本篇记录的是使用Jsoup框架爬取网页内容,结合Android的RecyclerView,从而实现批量下载小说的功能(也是我的APP星之小说下载器Android版的核心功能),思路仅供参考 本文使用了 ...
- Android开发——RecyclerView特性以及基本使用方法(一)
)关于点击事件,没有像ListView那样现成的API,但是自己封装起来也不难,而且我们使用ListView时,如果item中有可点击组件,那么点击事件的冲突也是一个问题,而在RecyclerView ...
- [课程设计]Scrum 2.1 多鱼点餐系统开发进度(下单列表布局)
[课程设计]Scrum 2.1 多鱼点餐系统开发进度(下单列表布局) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店 ...
- Android开发——RecyclerView特性以及基本使用方法(二)
0. 前言 随着Android的发展,虽然ListView依旧重要,但RecyclerView确实越来越多的被大家使用.但显然并不能说RecyclerView就一定优于ListView,而是应该根据 ...
- Android开发调试常用命令列表
Android开发调试常用命令列表 adb命令 am am start -n com.iflytek.autofly.account/.ui.MainActivity am start -n com. ...
- android开发 RecyclerView 瀑布列表布局
1.写一个内容的自定义小布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm ...
- android开发 RecyclerView 列表布局
创建一个一行的自定义布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...
- Android开发之详解五大布局
http://bbs.chinaunix.net/thread-3654213-1-1.html 为了适应各式各样的界面风格,Android系统提供了5种布局,这5种布局分别是: LinearLayo ...
- Android开发----RecyclerView视图的学习
RecyclerView RecyclerView是什么? RecyclerView是如今Android开发中最常用的控件,其相较于ListView和GridView的功能更为强大,优化了两者的各种不 ...
随机推荐
- 排序算法<No.2>【快速排序】
最近因为项目需要,研究AI相关的东西,主要是算法相关的. 有感触,所以决定,来一个系列的博文,可能会耗时很久,那就是要完成算法系列.起点,从最常用最基本的排序开始.后续会跟进其他类型的,比如树,图等领 ...
- 初次使用CentOs7遇到的问题
初次使用CentOs7遇到的问题 1.XXX[用户名]不在sudoers文件中.此事将被报告 解决方案:CentOs自带命令visudo,其作用为调用vim来修改“/etc/sudoers”文件,从而 ...
- python 计算校验和
校验和是经常使用的,这里简单的列了一个针对按字节计算累加和的代码片段.其实,这种累加和的计算,将字节翻译为无符号整数和带符号整数,结果是一样的. 使用python计算校验和时记住做截断就可以了. 这里 ...
- delphi absolute 应用实例
procedure TForm1.Button1Click(Sender: TObject); var i1,i2:Integer; b:..] of Byte absolute i1; // b 在 ...
- CAD中的各种Polyline
序号 类 类名 dxf代码 1 Polyline2d AcDb2dPolyline POLYLINE 2 Polyline3d AcDb3dPolyline POLYLINE 3 Polyline A ...
- modbus tcp 入门详解
Modbus tcp 格式说明 通讯机制 附C#测试工具用于学习,测试 前言: 之前的博客介绍了如何用C#来读写modbus tcp服务器的数据,文章:http://www.cnblogs.com ...
- bzoj5011: [Jx2017]颜色
Description 可怜有一个长度为n的正整数序列Ai,其中相同的正整数代表着相同的颜色. 现在可怜觉得这个序列太长了,于是她决定选择一些颜色把这些颜色的所有位置都删去. 删除颜色i可以定义为把所 ...
- http_range说明
100-200 // 第100到第200字节 500- // 第500字节到文件末尾 -1000 // 最后的1000个字节
- vo和pojo
pojo直接描述数据库中的表和字段,一一对应 vo的话,可以多添加些属性,比如code对应的name,或者标识符等等 查询列表的时候也可以直接用vo,但是修改或添加记录必须是pojo QueryVo ...
- 峰Redis学习(7)Redis 持久化RDB方式
第一节:Redis 持久化介绍 redis所有的数据都存在内存中,所以速度非常快,但是一旦断电等情况,数据就没了.从内存当中同步到硬盘上,这个过程叫做持久化过程. 持久化操作,两种方式:rdb方式.a ...