recycleview设计

118 阅读1分钟
1.新建一个xml文件

新建一个item.xml为RecyclerView设定xml样式

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_margin="8dp"
    android:background="@drawable/common_bg"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="8dp"
        tools:text="内容" />

</RelativeLayout>

2.修改对应tab文件

在tab03中添加RecyclerView控件并进行布局

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recycler"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:overScrollMode="never"
    android:scrollbars="none" />

3.修改对应的fragment文件

package com.example.mywechat;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

public class contactFragment extends Fragment {

    private static final String TAG = contactFragment.class.getSimpleName();
    //定义数据集合
    private List<String> mList = new ArrayList<>();
    View view ;
    //添加相关的内容
    private void initData() {
        mList.add("美国罗斯福号航母三名选手确诊");
        mList.add("缅甸首次出现新冠肺炎病例");
        mList.add("韩国抗议措施收到成效");
        mList.add("西班牙死亡人数创新高");
        mList.add("古巴限制外国游客进入");
        mList.add("意大利死亡人数已达全球最高");
        mList.add("美国关闭边境以限制非必要的出行");
        mList.add("各国采取更严厉的措施应对新冠病毒");
        mList.add("新冠病毒引发经济危机");
        mList.add("新冠病毒肆虐欧洲各国");
        mList.add("欧洲多国封锁边境");
    }

    private void initView() {
        adapter adapter = new adapter(getActivity());
        //获取RecyclerView
        RecyclerView recycler = (RecyclerView) view.findViewById(R.id.recycler);
        //设置布局管理器
        recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
        //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
        recycler.setHasFixedSize(true);
        //创建并设置Adapter
        recycler.setAdapter(adapter);
        adapter.setDragDataList(mList);
    }

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        view = inflater.inflate(R.layout.tab03, container, false);
        initData();
        initView();
        return view;
    }

}

4.结果图