Android ChipGroup:芯片中的多行文字

时间:2019-03-19 09:35:26

标签: android

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

enter image description here

我在TextView下面添加了一个ChipGroup,但是由于芯片的文本太长,因此它会被剪切。

有什么想法可以在Chip中使用多行文字或其他解决方法吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,筹码不支持多行文本。以下是来自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