Android RecyclerView DividerItemDecoration使用Drawable
阿新 • • 發佈:2018-12-21
Android RecyclerView DividerItemDecoration使用Drawable
package zhangphil.book; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RecyclerView mRecyclerView = findViewById(R.id.recycler_view); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext()); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(linearLayoutManager); RecyclerViewAdapter adapter = new RecyclerViewAdapter(); mRecyclerView.setAdapter(adapter); DividerItemDecoration mDividerItemDecoration = new DividerItemDecoration(getApplicationContext(), DividerItemDecoration.VERTICAL); Drawable mDrawable = ContextCompat.getDrawable(getApplicationContext(), R.drawable.yellow); mDividerItemDecoration.setDrawable(mDrawable); mRecyclerView.addItemDecoration(mDividerItemDecoration); } private class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolder> { @NonNull @Override public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(getApplicationContext()).inflate(android.R.layout.simple_list_item_1, parent, false); RecyclerViewHolder holder = new RecyclerViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) { holder.text1.setText(position + ""); } @Override public int getItemCount() { return Integer.MAX_VALUE; } } private class RecyclerViewHolder extends RecyclerView.ViewHolder { public TextView text1; public RecyclerViewHolder(View itemView) { super(itemView); text1 = itemView.findViewById(android.R.id.text1); } } }
res/drawable/yellow.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:height="50dp" /> <corners android:radius="5dp" /> <gradient android:angle="0" android:endColor="#FFDC9E " android:startColor="#D9983B" android:type="linear" /> </shape>