我已经看到在 android-P 谷歌中添加了包含材料芯片的新材料组件库:
所以我决定在我的项目中添加材质输入芯片,但遗憾的是没有找到任何制作教程。我想创建类似 Gmail 芯片的东西,但一开始没有图像。
因为我正在使用 appcompat 库,所以我尝试通过 android.support.design.chip.Chip
和 android.support.design.chip.ChipGroup
使用材料芯片。但结果只是没有任何输入字段的芯片。我还尝试创建一个独立的 ChipDrawable,然后将其添加到 EditText
使用
Editable text = editText.getText();
text.setSpan(span, 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
但是我得到了没有任何筹码的空 EditText。那么如何使用这个材料组件库创建像在 Gmail 中一样的筹码输入呢?也许有人有经验或知道我可以看到如何创建它的任何教程?
提前致谢!
原文由 IDmikael 发布,翻译遵循 CC BY-SA 4.0 许可协议
回答
没有用于在 android 中添加筹码的默认输入字段。他们提到了输入芯片,但我没有找到输入芯片的任何布局或视图组。所以我用
Chipdrawable
方法在edittext中添加筹码。这里正在使用 AppCompatEdittext ,您可以更改为监听文本输入的任何视图。 参考。步骤1
添加芯片 xml 资源。 芯片.xml
然后在style.xml中添加textappearance样式(用于改变textStyle)
第2步
使用 AppCompatEdittext 在此处添加您的视图
步骤 3
将此代码添加到您的视图以获得所需的行为。
当需要在 edittext 中添加新芯片时,根据需要更改 chipLength。
输出
已编辑
您可以 在此处 找到有关如何将文本与 span 居中对齐的更多信息。
在这里,我从解决方案中添加了一些代码将为您修复..
并像下面这样更改您的 imagespan 类