我使用的是材料芯片,我只想在选择closeIcon时才显示Chip。
我怎样才能达到这种行为呢?我可以做一些绑定等,但我更喜欢一些简单的解决方案。
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipSpacing="8dp"
app:singleLine="true"
app:singleSelection="false">
<com.google.android.material.chip.Chip
android:id="@+id/chip_1"
style="@style/MyChipStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:closeIcon="@drawable/ic_cross_white_24dp"
app:closeIconEnabled="true"
app:checkedIconEnabled="false"
android:checkable="true"
android:text="Example text" />
</com.google.android.material.chip.ChipGroup>发布于 2022-01-06 05:10:37
您需要添加检查芯片是否被选中的代码。
试着在下面的代码中检查:
private void chipCloseBtnVisi(){
if(chip_1.isChecked()){
// If Chip is selected(checked) then show close icon
chip_1.setCloseIconVisible(true);
}else{
// If Chip is not selected(checked) then hide close icon
chip_1.setCloseIconVisible(false);
}
}若要更改检查状态,需要向芯片中添加setOnCheckedChangeListener。
chip_1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
chipCloseBtnVisi();
}
});https://stackoverflow.com/questions/70593980
复制相似问题