• 使用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);
    
    
        }
    }
  • 相关阅读:
    Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
    Android 常见adb命令
    禅道项目管理软件 为提交Bug页面添加“优先级”字段
    禅道项目管理软件 为提交Bug页面设置bug必填字段
    Monkey Android app稳定性测试工具之Monkey使用教程
    移动设备 小米2S不显示CD驱动器(H),便携设备,MTP,驱动USB Driver,MI2感叹号的解决方法
    Python Elasticsearch api
    Kafka 集群配置SASL+ACL
    kafka集群搭建
    Zookeeper集群搭建以及python操作zk
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/10623262.html
Copyright © 2020-2023  润新知