首页 > 解决方案 > Android ChipGroup:芯片中的多行文本

问题描述

在 Android 应用程序中,我需要在聊天气泡中创建可点击的筹码(见下图)。

在此处输入图像描述

我在 TextView 下方添加了一个 ChipGroup,但由于芯片的文本太长,它被剪掉了。

知道如何在 Chip 中使用多行文本或任何解决方法吗?

标签: android

解决方案


不幸的是,芯片不支持多行文本。以下是来自的参考Chip.java

@Override
public void setSingleLine(boolean singleLine) {
    if (!singleLine) {
          throw new UnsupportedOperationException("Chip does not support multi-line text");
    }
    super.setSingleLine(singleLine);
}

@Override
public void setLines(int lines) {
    if (lines > 1) {
          throw new UnsupportedOperationException("Chip does not support multi-line text");
    }
    super.setLines(lines);
}

@Override
public void setMinLines(int minLines) {
    if (minLines > 1) {
         throw new UnsupportedOperationException("Chip does not support multi-line text");
    }
    super.setMinLines(minLines);
}

@Override
public void setMaxLines(int maxLines) {
    if (maxLines > 1) {
         throw new UnsupportedOperationException("Chip does not support multi-line text");
    }
    super.setMaxLines(maxLines);
}

然而,我们试图实现类似的行为,AppCompatCheckBox因为芯片继承了相同的类。

您可以使用芯片类进行详细参考:https ://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/chip/Chip.java


推荐阅读