1、先创建 activity_recycle_view.xml 和 activity_recycler_linear_item.xml

如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RecycleViewActivity"> <androidx.recyclerview.widget.RecyclerView
android:id="@+id/re1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="202dp"
tools:layout_editor_absoluteY="184dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".RecyclerLinearItemActivity"
android:background="@color/colorBg"> <TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="60dp"
android:text="@string/textview"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>

2、创建LinearAdapter 适配器:

package com.example.myapplication;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; public class LinearAdapter extends RecyclerView.Adapter<LinearAdapter.LinearViewHolder> { private Context context;
public LinearAdapter(Context context){
this.context = context;
} @NonNull
@Override
public LinearAdapter.LinearViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new LinearViewHolder(LayoutInflater.from(context).inflate(R.layout.activity_recycler_linear_item,parent,false));
} @Override
public void onBindViewHolder(@NonNull LinearAdapter.LinearViewHolder holder, final int position) {
holder.tv.setText("Hello World"); holder.tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context,"click..."+position,Toast.LENGTH_SHORT).show();
}
});
} @Override
public int getItemCount() {
return 30;
} class LinearViewHolder extends RecyclerView.ViewHolder{ private TextView tv; public LinearViewHolder(@NonNull View itemView) {
super(itemView); tv = itemView.findViewById(R.id.textView2);
}
}
}

3、RecycleViewActivity.java 代码

package com.example.myapplication;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import android.graphics.Rect;
import android.os.Bundle;
import android.view.View; public class RecycleViewActivity extends AppCompatActivity { private RecyclerView rv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycle_view); rv = findViewById(R.id.re1); rv.setLayoutManager(new LinearLayoutManager(RecycleViewActivity.this));
//设置分割线
rv.addItemDecoration( new MyDecoration());
rv.setAdapter(new LinearAdapter(RecycleViewActivity.this));
} class MyDecoration extends RecyclerView.ItemDecoration { @Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state); outRect.set(0,0,0,getResources().getDimensionPixelOffset(R.dimen.height)); }
}
}

4、效果如下:

android RecyclerView的Linear布局案例的更多相关文章

  1. android RecyclerView的Grid布局案例

    1.先创建activity_grid.xml 和 activity_grid_item.xml <?xml version="1.0" encoding="utf- ...

  2. android RecyclerView的瀑布流布局案例

    1.先创建 activity_water_fall.xml 和 activity_water_fall_item.xml <?xml version="1.0" encodi ...

  3. Android(java)学习笔记164:Relativelayout相对布局案例

    我们看看案例代码,自己心领神会: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout ...

  4. Android开发---网格布局案例

     Android开发---网格布局案例 效果图: 1.MainActivity.java package com.example.android_activity; import android.ap ...

  5. android开发 RecyclerView 瀑布列表布局

    1.写一个内容的自定义小布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm ...

  6. 【Android】15.0 UI开发(六)——列表控件RecyclerView的网格布局排列实现

    1.0 列表控件RecyclerView的网格布局排列实现,关键词GridLayoutManager. LinearLayoutManager 实现顺序布局 GridLayoutManager 实现网 ...

  7. 【Android】14.0 UI开发(五)——列表控件RecyclerView的瀑布布局排列实现

    1.0 列表控件RecyclerView的瀑布布局排列实现,关键词StaggeredGridLayoutManager LinearLayoutManager 实现顺序布局 GridLayoutMan ...

  8. 安卓高级3 RecyclerView 和cardView使用案例

    cardView: 添加依赖:在Studio搜索cardview即可 在V7包中 或者直接在gradle中添加 compile 'com.android.support:cardview-v7:24. ...

  9. (转载) Android RecyclerView 使用完全解析 体验艺术般的控件

    Android RecyclerView 使用完全解析 体验艺术般的控件 标签: Recyclerviewpager瀑布流 2015-04-16 09:07 721474人阅读 评论(458) 收藏  ...

随机推荐

  1. C# HtmlDecode、HtmlEncode、UrlEncode、UrlDecode

    不用System.Web 对 Content进行编码,De编码 string content = "<br/>"; string s1 = WebUtility.Htm ...

  2. 利用detours写了一个工具用于instrument任意指定dll的任意指定函数入口

    目录 wiki Disas Dtest Simple withdll load一个dll到指定进程 tracebld显示相关进程涉及的文件读写操作 My Instrumentation tool: w ...

  3. [转]c++多线程编程之pthread线程深入理解

    多线程编程之pthread线程深入理解         Pthread是 POSIX threads 的简称,是POSIX的线程标准.           前几篇博客已经能给你初步的多线程概念.在进一 ...

  4. meta name="location" 标签的使用

    在进行一些操作的时候,我们可能会用到这个标签来什么,地理位置,不错的网站优化标签. <meta name="location" content="province= ...

  5. asp.net core 获取appsettings.json里的配置

    public GoodsController(IConfiguration configuration) { Configuration = configuration; UpFileDir = Co ...

  6. CNeo编程语言概述

    C语言诞生于1970年,当时在AT&T实验室由Dennis Ritchie主导开发的.据说当时仅用了一周的时间就做好了C语言编译器,所以尽管C语言从90年正式纳入ISO标准委员会,其编号为IS ...

  7. codeMirror配置

    介绍 CodeMirror是一款在线的支持语法高亮的代码编辑器.官网:http://codemirror.net/ 下载后,解压开到的文件夹中,lib下是放的是核心库和核心css,模式下放的是各种支持 ...

  8. Jenkins - 以Docker方式安装启动Jenkins

    1 - 官网信息 操作步骤:https://jenkins.io/zh/doc/book/installing/#docker Docker映像地址:https://hub.docker.com/r/ ...

  9. OpenJudge 4152 最佳加法表达式

    总时间限制: 1000ms 内存限制: 65536kB 描述 给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值.例如,在1234中摆放 ...

  10. This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you

    Android Studio报错 这个视图只是编辑时位置,在运行时视图会跳转到(0,0) 解决办法: 在Design界面下,有个魔棒工具,Infer Constrains,点击之后就可以了