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);
    
    
        }
    }
  • 相关阅读:
    LODOP在页面不同位置输出页眉页脚
    【gridview增删改查】数据库查询后lodop打印
    LODOP中平铺图片 文本项Repeat
    Lodop设置文本项行间距、字间距
    Lodop打印条码二维码的一些设置
    LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距
    Lodop设置打印维护返回打印语句代码
    Lodop导出图片,导出单页内容的图片
    Lodop如何设置预览后导出带背景的图,打印不带背景图
    Lodop打印语句最基本结构介绍(什么是一个任务)
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/10623262.html
Copyright © 2011-2022 走看看