web-dev-qa-db-fra.com

Créer une révélation circulaire pour les appareils pré-Lollipop (Android)

Est-il possible d'obtenir ce nouvel animateur pour les appareils pré-Lollipop?

Je suis novice et j'essaie d'obtenir les fichiers Java de son répertoire officiel documentation , mais je suis vraiment perdu, je ne sais pas comment le trouver, etc.

29
JavierSegoviaCordoba

Je trouve une bibliothèque pour vous. Circulaire révéler , est compatible avec 2.3 appareils.

J'espère que ça aide pour vous !!

Ceci est une mise à jour des réponses de Alejandro et BadYous .

  1. La meilleure bibliothèque est encore Circular Reveal .
  2. La bonne description est compile 'com.github.ozodrukh:CircularReveal:2.0.1'
  3. Utilisez le bon import pour ViewAnimationUtils

    import io.codetail.animation.ViewAnimationUtils;
    
7
Huseyin

Oui! vous pouvez utiliser CircularReveal library: comme @Alejandro dit.

Mais vous devez modifier la dépendance de la bibliothèque pour: 

dependencies {
    compile 'com.github.ozodrukh:CircularReveal:1.1.1' //without "@aar" contrary to what the documentation says
}

Sinon, vous obtiendrez une exception sur certains appareils fonctionnant sous une version antérieure à Lollipop.

4
BadYous

La meilleure bibliothèque est: CircularReveal

utilisation : 

Utilisez des variables régulières RevealFrameLayout & RevealLinearLayout

<io.codetail.widget.RevealFrameLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <!-- Put more views here if you want, it's stock frame layout  -->

    <Android.support.v7.widget.CardView
...
        />

</io.codetail.widget.RevealFrameLayout>

et :

  View myView = findView(R.id.awesome_card);

    // get the center for the clipping circle
    int cx = (myView.getLeft() + myView.getRight()) / 2;
    int cy = (myView.getTop() + myView.getBottom()) / 2;

    // get the final radius for the clipping circle
    int finalRadius = Math.max(myView.getWidth(), myView.getHeight());

    SupportAnimator animator =
            ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);
    animator.setInterpolator(new AccelerateDecelerateInterpolator());
    animator.setDuration(1500);
    animator.start();

Cette bibliothèque est simple et fonctionne très bien en pré Lollipop.

3

Google l'a finalement porté !!! Il est maintenant dans la bibliothèque de composants matériels sous le nom CircularRevealCompat

0
kyay

J'espère que cela vous aidera ... sinon, utilisez http://Pulse7.net/Android/android-create-circular-reveal-animation-and-ripple-effect-like-like-whatsapp/

compile ('com.github.ozodrukh:CircularReveal:1.1.1@aar') {
    transitive = true;
0
Arjun Singh