2016-04-12 12 views
24

This Wzór materiału przedstawiający obudowę. Ale nie mogłem znaleźć przykładowego kodu tego komponentu?Składnik Chips w bibliotece wsparcia Androida?

Jak mogę z niego korzystać?

proszę pokazać kod XML i kod Java.

+0

zobacz [odpowiedź] (http://stackoverflow.com/a/22243669/6561141). To faktycznie z google! – tpk

+0

Sprawdź moją odpowiedź na temat podejścia bez biblioteki trzeciej strony. –

Odpowiedz

2

Spróbuj tej biblioteki: https://github.com/klinker41/android-chips

sprawdzić próbkę, aby uzyskać wyczucie, jak go używać.

+7

Wygląda na bibliotekę innej firmy, która nie jest tworzona przez google. gdzie jest oryginalna biblioteka chipsów z materiału Android projektowania. – MomAndDad

+0

Jest oparty na źródle Google dla komunikatora AOSP. Jeśli to działa, użyj go. Specyfikacje materiałowe to tylko specyfikacje, nie ma gwarancji, że Google przygotuje rozwiązanie pierwszej strony dla każdego komponentu. – razzledazzle

+3

patrz [odpowiedź] (http://stackoverflow.com/a/22243669/6561141). To faktycznie z google! – tpk

33

Nie musisz używać biblioteki innej firmy, aby uzyskać chips.

Układ to w zasadzie TextView z zaokrąglonym tłem. Możesz dodać przycisk usuwania i ImageView również, aby utworzyć widok taki, jak ten używany w kontaktach Google.

Dla potrzeb przykładu użyję tylko prostego TextView. Najpierw utwórz interfejs dla chipa.

->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> 

W pliku aktywność układu, wystarczy zdefiniować ten plik zasobów rozciągliwej jako TextView tle jak ten:

<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" /> 

To jest widok który został utworzony:

Chip view created

Teraz możemy użyć HorizontalScrollView, aby wyświetlić rząd żetonów (np. Aplikacja GooglePlay) lub użyć StaggeredGridLayoutManager do zbudowania rozłożonej siatki żetonów.

[EDIT]

Jeśli chcesz pokazać żetony jak FlowLayout, który nie jest obsługiwany w Androidzie natury, musimy korzystać z biblioteki. Nie martw się, to bardzo mała zmiana.

Trzeba dodać następującą linię do Gradle depencencies:

compile 'com.xiaofeng.android:flowlayoutmanager:1.2.3.2' 

i ustawić recykler menedżera układu widok z nim:

recyclerView.setLayoutManager(new FlowLayoutManager()); 

Dodatkowe szczegóły tutaj na GitHub

Mieć świetny dzień! Wykonaj upvote, jeśli to pomoże.

+0

Dzięki. Używanie recyklera z flowLayoutManager jest o wiele lepsze niż każde inne rozwiązanie. –

+0

Ładne, łatwe i lekkie! Najlepsze rozwiązanie, możemy z łatwością dobrać odpowiedni draw do zrobienia chipa wymiennego !! –

+0

Świetne rozwiązanie! Jak mogę zmienić z kodu "kolor" ¿? – KNU

Powiązane problemy