Non è necessario utilizzare una libreria di terze parti per rendere chips.
Un chip è fondamentalmente uno TextView
con uno sfondo arrotondato. Puoi aggiungere un pulsante di cancellazione e uno ImageView
anche per creare una vista come quella usata per i contatti di Google.
Per gli scopi dell'esempio userò solo un semplice TextView
. Prima crea l'interfaccia utente per il chip.
->shape_chip_drawable.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<padding
android:bottom="12dp"
android:left="12dp"
android:right="12dp"
android:top="12dp" />
<corners android:radius="30dp" />
</shape>
Nel file di layout di attività, basta definire il file di risorse drawable come TextView
sfondo come questo:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/shape_chip_drawable"
android:text="Hello, I'm a simple Chip!"
android:textColor="@android:color/white"
android:textStyle="bold" />
Questa è la vista che viene creato:

Ora è possibile utilizzare HorizontalScrollView
per visualizzare una fila di chip (come l'applicazione GooglePlay) o utilizzare StaggeredGridLayoutManager
per creare una griglia di chip sfalsata.
[EDIT]
Se si desidera visualizzare i chip come FlowLayout
, che non è intrinsecamente supportato in Android, abbiamo bisogno di usare una libreria. Non preoccuparti, è un cambiamento molto piccolo.
Dovete aggiungere la seguente riga al Gradle depencencies:
compile 'com.xiaofeng.android:flowlayoutmanager:1.2.3.2'
e impostare il riciclatore direttore di visualizzazione layout con esso:
recyclerView.setLayoutManager(new FlowLayoutManager());
Ulteriori dettagli qui su GitHub
Avere un gran giorno! Fai un voto se aiuta.
vedere [risposta] (http://stackoverflow.com/a/22243669/6561141). In realtà è da Google! – tpk
Controlla la mia risposta per un approccio senza libreria di terze parti. –