/// 어댑터 클래스
public class TestAdapter extends RecyclerView.Adapter<TestAdapter.CustomViewHolder> {
private ColorGenerator generator;
private Activity mActivity;
private ArrayList<String> iDataList;
public TestAdapter(Activity activity, ArrayList<String> countryList, int limit, boolean isLiveCountry) {
this.mActivity = activity;
generator = ColorGenerator.MATERIAL;
}
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_item, parent, false);
return new CustomViewHolder(view);
}
@Override
public void onBindViewHolder(CustomViewHolder holder, final int position) {
int color = generator.getRandomColor();
holder.view.setBackgroundColor(color);
}
@Override
public int getItemCount() {
return iDataList.size();
}
public class CustomViewHolder extends RecyclerView.ViewHolder {
private View view;
public CustomViewHolder(View itemView) {
super(itemView);
view = itemView.findViewById(R.id.view);
}
}
}
// 컬러 발전기
public class ColorGenerator {
public static ColorGenerator DEFAULT;
public static ColorGenerator MATERIAL;
static {
DEFAULT = create(Arrays.asList(
0xfff16364,
0xfff58559,
0xfff9a43e,
0xffe4c62e,
0xff67bf74,
0xff59a2be,
0xff2093cd,
0xffad62a7,
0xff805781
));
MATERIAL = create(Arrays.asList(
0xffe57373,
0xfff06292,
0xffba68c8,
0xff9575cd,
0xff7986cb,
0xff64b5f6,
0xff4fc3f7,
0xff4dd0e1,
0xff4db6ac,
0xff81c784,
0xffaed581,
0xffff8a65,
0xffd4e157,
0xffffd54f,
0xffffb74d,
0xffa1887f,
0xff90a4ae
));
}
private final List<Integer> mColors;
private final Random mRandom;
public static ColorGenerator create(List<Integer> colorList) {
return new ColorGenerator(colorList);
}
private ColorGenerator(List<Integer> colorList) {
mColors = colorList;
mRandom = new Random(System.currentTimeMillis());
}
public int getRandomColor() {
return mColors.get(mRandom.nextInt(mColors.size()));
}
public int getColor(Object key) {
return mColors.get(Math.abs(key.hashCode()) % mColors.size());
}
[이 답변] (HTTPS ://stackoverflow.com/a/32048294/6891637) 도움이됩니다. –
@Ajil O 유감스럽게도 아닙니다. 내 스크린 샷은'setColorFilter' 메소드가 작동하고 있음을 보여줍니다. 그러나 색상은 무작위로 생성되지 않습니다. –
드로어 블이 어떻게 생겼습니까? –