2017-07-07 2 views
-1

J'ai besoin d'aide avec ma barre d'outils. À l'heure actuelle, j'utilise une barre d'outils qui s'effondre avec une image qui s'est effondrée lorsque je fais défiler vers le haut. Je sais que je peux utiliser contentScrim pour rendre la barre d'outils transparente et donc voir l'image comme "arrière-plan de la barre d'outils". Cependant, je souhaite que l'image soit floue (/ fondu) lorsque la barre d'outils est réduite.Réduire la barre d'outils pour rendre l'image floue

Des suggestions pour y parvenir?

+0

Le contenu de l'image est-il dynamique ou non? –

+0

l'image est le résultat d'une requête de recherche de sorte que oui c'est dynamique – Rantir

Répondre

1

Vous pouvez utiliser cette bibliothèque. (RealTimeBlurView)
Pour l'effet de flou, placez simplement l'image derrière le blurview. Pour obtenir ce que vous voulez, il suffit de changer l'alpha de blurview lorsque la barre d'application est défilée.

appbar.addOnOffsetChangedListener(new OnOffsetChangedListener() { 
    @Override 
    public void onOffsetChanged(final AppBarLayout appBarLayout, final int verticalOffset) { 
     float offsetAlpha = (appBarLayout.getY()/appbar.getTotalScrollRange()); 
     blurView.setAlpha(1 - (offsetAlpha * -1)); 
    } 
}); 

MISE À JOUR

FastBlur
Voici une autre benchmarking project pour mettre en valeur toutes les méthodes possibles brouillant dans Android.
Obtenez simplement l'algorithme le plus rapide de la démo et utilisez-le dans votre projet.

Espérons que cela aide!

+0

Merci, mais connaissiez-vous une solution Java pure? J'ai juste besoin de l'effet de flou quand la barre d'outils est complètement effondrée – Rantir

+0

Vérifiez ma réponse mise à jour. –

+0

Merci encore! J'ai une faute de frappe:/Je voulais dire pur Android/Google lib iam pas un tel fan de tiers lib. Serait bien si vous pouviez fournir un autre exemple de toute façon vous méritiez cette réponse acceptée! – Rantir