RecyclerView 提供了一个插拔式的体验,高度的解耦,异常的灵魂,通过设置它提供的不同LayoutManager,ItemDecoration,ItemAnimator 实现令人瞠目的效果
设置分割线样式
在 styles.xml 样式文件中
<!--全局 线的效果 -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:listDivider">@drawable/divider_bg</item>
</style>
<!-- 独单使用. -->
<style name="listDividerTheme" >
<item name="android:listDivider">@drawable/divider_bg</item>
</style>
在 drawable 目录下的 divider_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:centerColor="#ff00ff00"
android:endColor="#ff0000ff"
android:startColor="#ffff0000"
android:type="linear" />
<size android:height="2dp"/>
</shape>
案例:
package com.example.testapplication;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.example.testapplication.adapter.DividerListItem;
import com.example.testapplication.adapter.MyRecyclerViewAdapter;
import java.util.ArrayList;
public class Recycler1Activity extends ApplicationActivity implements View.OnClickListener {
private Button btn_add;
private Button btn_delete;
private Button btn_list;
private Button btn_grid;
private Button btn_flow;
private RecyclerView recyclerview;
private TextView textView;
private ArrayList<String> datas;
private MyRecyclerViewAdapter adapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler1);
initView(); // 初始化
// 设置数据集合
initData();
// 设置RecyClerView 的适配器
adapter = new MyRecyclerViewAdapter(Recycler1Activity.this,datas);
recyclerview.setAdapter(adapter);
// LayoutManager 第一参数 上下文 第二个 方向 (横 竖) 第三 是否倒序
recyclerview.setLayoutManager(new LinearLayoutManager(Recycler1Activity.this,LinearLayoutManager.VERTICAL,false));
// 滚