我想在我的应用程序中使用芯片实现自动完成的edittext,我希望以这样的方式完成:material design chips。 首先,我想问一下是否有某种小部件(可能是新支持库的一部分)或者我可以使用的解决方案,以便于实现。 (我知道之前已经问过这个问题,但我只是想知道在此期间是否有变化)。 我也发现了这个library,但我不知道如何使用它(我可以使用它)来自动完成我的数据集......有没有人之前使用过这个库并且可以分享他们的经历?
任何帮助将不胜感激!
答案 0 :(得分:9)
使用新的Support Library 28.0.0-alpha1 release和新的Material Components for Android,新的设计库现在包含Chip
。
您可以使用以下命令将芯片添加到我们的布局文件中:
<com.google.android.material.chip.Chip
android:id="@+id/some_chip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="This is a chip" />
使用经典设计v28-alpha1只需使用包:
<android.support.design.chip.Chip
../>
android:checkable
:用于声明芯片是否可以切换为选中/未选中。 app:chipIcon
:用于在芯片内显示图标app:closeIcon
:用于在芯片内显示关闭图标您可以找到官方documentation here。
答案 1 :(得分:6)
我实际上最终使用了这个library。此库提供的自动完成视图和芯片不是“物质”样式,但您可以自己动手,不费吹灰之力。经过深入研究后,我意识到这个库为您提供了将您自己的数据集实现到逻辑中的最简单方法。所有其他库都是使用Android联系人或电子邮件定制的,改变代码和查询自己的数据集并不是那么简单。因此,如果有人想要实现芯片,但是使用自定义数据查询,我会说这是正确的方法。
答案 2 :(得分:2)
查看this库!我认为它可能适合您的需求。
答案 3 :(得分:1)
还有一个新的answer材料芯片!
答案 4 :(得分:0)
到目前为止是最新的。This library看起来超级简单。您需要
implementation "com.hootsuite.android:nachos:1.1.1"
和
<com.hootsuite.nachos.NachoTextView
android:id="@+id/nacho_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:chipHorizontalSpacing="2dp"
app:chipBackground="@color/chip_background"
app:chipTextColor="@color/cheddar"
app:chipTextSize="16dp"
app:chipHeight="30dp"
app:chipVerticalSpacing="3dp"/>
和
val suggestions = arrayOf("Tortilla Chips", "Melted Cheese", "Salsa", "Guacamole", "Mexico", "Jalapeno")
val adapter = ArrayAdapter(context, android.R.layout.simple_dropdown_item_1line, suggestions)
nachoTextView.setAdapter(adapter)
玩自定义!
答案 5 :(得分:-1)
此链接可能有帮助
“芯片”小部件提供了Material Design芯片组件的完整实现。如何在布局中包含小部件的示例代码:
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
https://material.io/develop/android/components/chip/
另一个第三方库
Nachos是Android的一个库,提供了一个自定义TextView,允许用户在文本字段中输入文本并创建材料碎片。 https://github.com/hootsuite/nachos
MaterialChipsInput 适用于Android的Material Design Chips组件的实现。该库提供两个视图:ChipsInput和ChipView。 https://github.com/pchmn/MaterialChipsInput
材料芯片视图。可用作类别,联系人或创建文本云的标签 https://github.com/robertlevonyan/materialChipView