Zjistěte Svůj Počet Andělů
Jak vytvořit animaci odrazu pro Android
Tady v HASHTAGS , naši zákazníci závisí na nás, abychom jim pomohli spolehlivě spravovat jejich obsah v sociálních médiích. Zákazníci Sprout používají naše mobilní aplikace pro iOS a Android, aby mohli spravovat své sociální média na cestách . Když jsme se rozhodli aktualizovat naši zprávu pro Android Compose experience to support vydavatelství více obrázků připojených k Tweetu, chtěli jsme uživateli objasnit, kdy bylo připojeno více obrázků, i když to na obrazovce Compose není vidět.
Designové řešení: Pomocí animace můžete označovat obrázky mimo obrazovku
Vzhledem k našemu designu a omezením mobilní obrazovky bylo možné, aby se připojené obrázky nacházely mimo obrazovku. I když to není ideální, vzhledem k hustotě podporovaných funkcí na obrazovce Compose to byl nezbytný ústupek. V případech, kdy jsou obrázky ve skutečnosti mimo obrazovku, jsme se rozhodli implementovat horizontální „odrazovou“ animaci, která by naznačovala, že seznam obrázků lze posouvat.
Volba implementace: ObjectAnimator + EasingInterpolator
Existuje mnoho mechanismů pro podporu základních animací v systému Android. Některé vyžadují konfiguraci v kódu, jiné v xml. Při výběru z alternativ jsme se rozhodli upřednostnit zpětnou kompatibilitu (podporujeme SDK verze 15+), jednoduchost implementace a konfigurovatelnost. Nakonec jsme se rozhodli použít kombinaci ObjectAnimator a Usnadnění interpolátoru . Oba je možné konfigurovat v kódu Java, což je v konečném důsledku více přívětivé pro vývojáře: Syntaxe je známá a logiku animace lze zcela definovat na jednom místě v základně kódu.
ObjectAnimator je třída poskytovaná platformou Android, která umožňuje úpravy vlastnosti zobrazení. Protože se pohyb výchozího interpolátoru pro ObjectAnimator necítil přirozeně pro náš případ použití, rozhodli jsme se použít EasingInterpolator, což je užitečná knihovna, která poskytuje mnoho různých interpolačních modelů.

Bounce Animation Code
private void doBounceAnimation(View targetView) { ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, 'translationX', 0, 25, 0); animator.setInterpolator(new EasingInterpolator(Ease.ELASTIC_IN_OUT)); animator.setStartDelay(500); animator.setDuration(1500); animator.start(); }
Naštěstí je kód pro zpracování tohoto chování velmi stručný. V řádku 1 specifikujeme, jak chceme animovat targetView. V tomto případě chceme upravit vlastnost „translationX“ v targetView, což je x-pozice pohledu po rozložení. Chceme animovat z offsetu 0dp z počáteční polohy na offset 25dp doprava a nakonec se vrátit k původnímu offsetu 0dp.
V řádku 2 specifikujeme typ interpolace, kterou bychom chtěli. Hrali jsme s různými interpolačními modely, ale nakonec jsme se rozhodli, že Ease.ELASTIC_IN_OUT vypadá nejlépe pro náš případ použití.

Další informace o podpoře animace vlastností v systému Android najdete v Developer animace nemovitosti doc .
Animace v akci
Jsme opravdu šťastní z našich aktualizací v mobilním prostředí Compose. Do budoucna plánujeme pokračovat v obohacování našeho mobilního prostředí o responzivní vizuální rozhraní. Máte zájem s námi pracovat na tomto druhu věcí? Přijít pracuj s námi v našem mobilním týmu Android!
Sdílej Se Svými Přáteli: