zoukankan      html  css  js  c++  java
  • 使用RecyclerView设置自定义分割线

    在安卓开发中,RecyclerView控件来做一些列表是非常方便的,如何使用在网上很多文章,这次着重来说一下怎么设置自定义分割线:

    首先,我们来看一下怎么设置默认的分割线

     RecyclerView mRecyclerView;
     mRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
    

      

     这个能满足一般需求,但是如果我想使用自定义的分割线呢,看以下代码

      DividerItemDecoration divider = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
            divider.setDrawable(ContextCompat.getDrawable(this, R.drawable.divider));
            mRecyclerView.addItemDecoration(divider);

    哈哈,这就发生了改变,把全部代码贴上来吧

    package com.example.administrator.myapplication;
    
    import android.content.ContextWrapper;
    import android.os.Bundle;
    import android.support.v4.content.ContextCompat;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.GridLayoutManager;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.DividerItemDecoration;
    import android.support.v7.widget.RecyclerView;
    
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class BodyActivity extends AppCompatActivity {
        RecyclerView mRecyclerView;
    
        @Override
        protected void onCreate(Bundle saveInstanceState) {
            super.onCreate(saveInstanceState);
            setContentView(R.layout.activity_body);
            //1.获取控件
            mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    
            //设置布局方式
            mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));//线性布局
    //        mRecyclerView.setLayoutManager(new GridLayoutManager(this,2));//网格布局
            mRecyclerView.setHasFixedSize(true); //是否重新计算大小
    
            //3.准备数据
            List<News> newsList = new ArrayList<>();
            News news;
            for (int i = 1; i <= 20; i++) {
                news = new News();
                news.setNewsTitle("java是世界上最好的语言" + i);
                news.setNewsSource("新华网" + i);
                news.setPublishTime("2018-8-6");
                newsList.add(news);
            }
    
    
            //添加Android自带的分割线
    //      mRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
    
    
            //添加自定义的分割线
            DividerItemDecoration divider = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
            divider.setDrawable(ContextCompat.getDrawable(this, R.drawable.divider));
            mRecyclerView.addItemDecoration(divider);
    
            //4.准备适配器
            NewsAdapter newsAdapter = new NewsAdapter(newsList);
            mRecyclerView.setAdapter(newsAdapter);
    
    
        }
    }
  • 相关阅读:
    【译】第33节---种子数据
    python文件的读写
    python-----实现数据库安装和连接操作
    学习进度(第三周)
    解 idea(.IntelliJIdea2019.3)双击打不开的原因
    python爬虫------处理cookie的相关请求
    安装retrying模块出现 (Retry(total=4, connect=None, read=None, redirect=None, status=None))
    java----统计疫情可视化展示--echarts(三)
    java----统计疫情可视化展示--echarts(二)
    java----统计疫情可视化展示--echarts
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/10623262.html
Copyright © 2011-2022 走看看