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>