0

我在xml布局中有芯片组,需要动态添加芯片。我需要动态添加主题,而不更改应用程序主题我想为芯片视图设置材料主题直到现在我找不到合适的解决方案,我将展示我的代码片段。我非常需要你的帮助

Chip chip = new Chip(mContext);
        chip.setCloseIconVisible(true);
        chip.setText(dataOptions.getListTitle());
        chip.setTextAppearance(mContext, R.style.button_style_value_color_black);
        chip.setHeight(30);
        chip.isCloseIconVisible();
        chip.setChipStrokeColorResource(R.color.chip_stroke_color);
        chip.setChipStrokeWidth(1f);
        chip.setCloseIconTintResource(R.color.grey_500);
        chip.setChipBackgroundColorResource(R.color.chip_background);
        chip.setChipCornerRadius(10f);
        mBinding.feNotesChip.addView(chip);

   chip.setOnCloseIconClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mAdapter.setItemToTheList(dataOptions, mBinding.feNotesEt.getText());
                mBinding.feNotesChip.removeView(chip);
                dataOptionsList.remove(dataOptions);
                saveToFormElement(dataOptionsList, newList);
            }
        });
4

1 回答 1

0

使用这个库(https://github.com/Plumillon/ChipViewAdapter )您可以从他们的(即)扩展ChipViewAdapter并覆盖所需的方法,我曾经在特定条件下更改背景

    @Override
    public int getBackgroundRes(int position) {
        if (chipList.get(position).getChipType().equalsIgnoreCase(AppConstants.LOCATION)) {
            return drawable1;
        }
        return drawable2;
    }
于 2019-09-19T07:53:40.490 回答