Czy ktoś wie, jak wyświetlić obraz z zaokrąglonymi narożnikami za pomocą Glide? Ładuję obraz za pomocą Glide, ale nie wiem, jak przekazać zaokrąglone parametry do tej biblioteki.
Potrzebuję wyświetlanego obrazu, jak w poniższym przykładzie:
android
android-glide
mr.boyfox
źródło
źródło
Odpowiedzi:
Glide V4:
Glide V3:
Możesz używać
RoundedBitmapDrawable
do okrągłych obrazów z Glide. Nie jest wymagany niestandardowy ImageView.źródło
.centerCrop()
ciebie prawdopodobnie oznacza.circleCrop()
Sprawdź ten post, glide vs picasso ...
Edytuj : połączony post nie wywołuje istotnej różnicy w bibliotekach. Glide dokonuje recyklingu automatycznie. Zobacz komentarz TWiStErRob, aby uzyskać więcej.
źródło
public String getId()
sposobu pokazanego w kodzie, ponieważ zwraca ten sam identyfikator dla wszystkich obrazów, dlatego może się zdarzyć, że poślizg ustawi stare zaokrąglone obrazy, a bez przekształceń ustawi prawidłowy obraz! Nie wiem, jak działa poślizg, ale wydaje się, że buforuje transformacje obrazów (zakładam, że w celu uniknięcia twardych łydek). I identyfikator jest używany jako identyfikator przekształconego obrazu. Dodałem adres URL obrazu do konstruktora i sprawiłem, że wspomniana metoda zwraca wynikowy identyfikator, taki jak:this.id = String.format("%s:%s",this.getClass().getSimpleName(),id);
Najłatwiejszy sposób (wymaga Glide 4.xx)
źródło
.apply()
nastąpi.load()
.Wypróbuj w ten sposób
kod
XML
all_circle_white_bg.xml
źródło
jego bardzo proste Widziałem bibliotekę Glide, bardzo dobrą bibliotekę i esej na temat biblioteki Volley Google
użyj tej biblioteki do zaokrąglonego widoku obrazu
https://github.com/hdodenhof/CircleImageView
teraz
// Dla prostego widoku:
// Aby uzyskać listę:
i w XML
źródło
Inne rozwiązania nie działały dla mnie. Odkryłem, że wszystkie mają znaczące wady:
To naprawdę interesujące, że po tym, jak się z tym pogrzebałem, znalazłem stronę biblioteki Fresco o zaokrąglonych rogach i okręgach, w których wymieniają w zasadzie te same ograniczenia i kończą stwierdzeniem:
Niewiarygodne, że w tej chwili wciąż nie mamy realnego rozwiązania. Mam alternatywne rozwiązanie oparte na linku, który podałem powyżej. Wadą tego podejścia jest to, że zakłada, że tło ma jednolity kolor (narożniki nie są tak naprawdę przezroczyste). Użyłbyś tego w ten sposób:
Istota jest tutaj, a pełny kod tutaj:
źródło
Teraz w Glide V4 możesz bezpośrednio używać CircleCrop ()
Wbudowane typy
źródło
Użyj tej transformacji, będzie działać dobrze.
źródło
Dla Glide 4.xx
posługiwać się
z dokumentu stwierdzono, że
źródło
Zgodnie z tą odpowiedzią najłatwiejszym sposobem w obu językach jest:
Kotlin:
Jawa:
Działa na Glide 4.XX
źródło
Odpowiedź Romana Samojlenko była prawidłowa, z wyjątkiem zmiany funkcji. Poprawna odpowiedź to
źródło
Znalazłem jedno łatwe i proste rozwiązanie do dodawania obramowania na widok obrazu, w którym kolor chcesz ustawić lub dodać gradient na obrazie.
KROKI:
imgPlaceHolder
potrzebujesz jednego białego obrazu lub koloru, który chcesz ustawić.Po umieszczeniu tego kodu w pliku xml, umieść poniżej wiersza w pliku Java.
To sprawi, że obramowanie podglądu obrazu będzie po prostu bez dodatkowego dopełnienia i marginesu.
UWAGA : Biały obraz jest obowiązkowy dla obramowania, w przeciwnym razie nie będzie działał.
Miłego kodowania :)
źródło
Z biblioteką poślizgową możesz użyć tego kodu:
źródło
Szukałem go wcześniej i zrobiłem to w najprostszy sposób, mam nadzieję, że ci się spodoba.
CircleTransform.java
fade_in.xml do przejścia w animacji.
wreszcie wywołać tę metodę.
źródło
Możesz po prostu wywołać konstruktor RoundedCornersTransformation, który ma wejście enum cornerType. Lubię to:
ale najpierw musisz dodać Glide Transformations do swojego projektu.
źródło
Oto bardziej modułowy i czystszy sposób na wykadrowanie mapy bitowej w Glide:
BitmapTransformation
a następnie zastąptransform
metodę:Dla Glide 4.xx
Dla Glide 3.xx
Mam nadzieję że to pomoże :)
źródło
źródło
źródło
Przycinanie kół + symbol zastępczy + przenikanie
źródło
Wersja szybująca 4.6.1
źródło
W takim przypadku muszę dodać cienie, a elewacja imageView nie działa
wdrożenie "com.github.bumptech.glide: glide: 4.10.0"
XML
Kształt do wyciągnięcia
Konfiguracja poślizgu
źródło
Musisz użyć CircularImageView, aby wyświetlić ten typ obrazu ...
Używasz biblioteki Glide, która służyła do ładowania obrazów ..
Utwórz jeden plik klasy w swoim projekcie i załaduj go do programu Imageview ... a otrzymasz pożądany wynik ...
Wypróbuj następujący kod ...
XML
CircularImageView.java
Uwaga :
Możesz użyć
lub
nie wpłynie to na inne biblioteki ... nie musisz zmieniać kodu do pobierania obrazu lub czegokolwiek innego ... po prostu można go zdefiniować za pomocą XML ..
źródło