在安卓開發中,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); } }