要创建一个可以多行显示的ChipGroup,可以使用RecyclerView和FlexboxLayoutManager来实现。以下是一个示例代码:
RecyclerView chipRecyclerView = findViewById(R.id.chipRecyclerView);
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(context);
chipRecyclerView.setLayoutManager(layoutManager);
List chipItems = Arrays.asList("Chip 1", "Chip 2", "Chip 3", "Chip 4", "Chip 5");
ChipAdapter chipAdapter = new ChipAdapter(chipItems);
chipRecyclerView.setAdapter(chipAdapter);
public class ChipAdapter extends RecyclerView.Adapter {
private List chipItems;
public ChipAdapter(List chipItems) {
this.chipItems = chipItems;
}
@NonNull
@Override
public ChipViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View itemView = inflater.inflate(R.layout.item_chip, parent, false);
return new ChipViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ChipViewHolder holder, int position) {
String chipText = chipItems.get(position);
holder.chip.setText(chipText);
}
@Override
public int getItemCount() {
return chipItems.size();
}
public class ChipViewHolder extends RecyclerView.ViewHolder {
private Chip chip;
public ChipViewHolder(@NonNull View itemView) {
super(itemView);
chip = itemView.findViewById(R.id.chip);
}
}
}
通过以上步骤,你可以创建一个可以多行显示的ChipGroup。