Lollipop ViewAnimationUtils.createCircularReveal for everyone 4.0+

Overview

CircularReveal

Lollipop ViewAnimationUtils.createCircularReveal for everyone 14+

Yotube Video
Circular Reveal

Checout demo application

How to use:

Use regular RevealFrameLayout & RevealLinearLayout don't worry, only target will be clipped :)

<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
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/awesome_card"
        style="@style/CardView"
        app:cardBackgroundColor="@color/material_deep_teal_500"
        app:cardElevation="2dp"
        app:cardPreventCornerOverlap="false"
        app:cardUseCompatPadding="true"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center_horizontal"
        />

</io.codetail.widget.RevealFrameLayout>
    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 dx = Math.max(cx, myView.getWidth() - cx);
    int dy = Math.max(cy, myView.getHeight() - cy);
    float finalRadius = (float) Math.hypot(dx, dy);

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

How to add dependency

This library is not released in Maven Central, but instead you can use JitPack

add remote maven url

	repositories {
	    maven {
	        url "https://jitpack.io"
	    }
	}

then add a library dependency

	dependencies {
	    implementation ('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
	        transitive = true;
	    }
	}

License

The MIT License (MIT)

Copyright (c) 2016 Abdullaev Ozodrukh

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Comments
  • java.lang.NoClassDefFoundError: io.codetail.animation.RevealAnimator$RevealRadius

    java.lang.NoClassDefFoundError: io.codetail.animation.RevealAnimator$RevealRadius

    I am getting this exception on pre-lollipop devices. Any ideas why? I have imported the library and upon clicking the class name, it takes me to its source code as well.

    java.lang.NoClassDefFoundError: io.codetail.animation.RevealAnimator$RevealRadius at io.codetail.animation.RevealAnimator.<clinit>(RevealAnimator.java:20) at io.codetail.animation.ViewAnimationUtils.createCircularReveal(ViewAnimationUtils.java:62)

    bug help wanted 
    opened by wingoku 24
  • CircularReveal when a fragment is opened

    CircularReveal when a fragment is opened

    I'm tring to have a CircularReveal on an ImageView when a fragment is opened.

    I know that in order to measure views in fragment I have to call addOnGlobalLayoutListener and inside onGlobalLayout I can measure views. I can see the correct width/height ecc... but the ImageView never shows up.

           vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                public boolean alreadMeasure = false;
    
                @Override
                public void onGlobalLayout() {
                    if (!alreadMeasure) {
                     int cx = (myView.getWidth()) / 2;
                     int cy = (myView.getHeight()) / 2;
    
                     int finalRadius = Math.max(myView.getWidth(), myView.getHeight());
    
                     SupportAnimator animator =
                    ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);
                     animator.setInterpolator(new AccelerateDecelerateInterpolator());
                     animator.setDuration(800);
                    animator.start();
                        alreadMeasure = true;
                    } else {
                        view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    }
                }
            });```
    
    bug help wanted 
    opened by monossido 14
  • InvertedCircularReaveal

    InvertedCircularReaveal

    This is a feature request. When next screen is reveal through circular reveal it would be very convinient and estethicaly pleasing to use inverted reveal when navigating back.

    How invertedCircularReveal would work. Circle (with specified centerX, centerY) starts at MAX radius and shrinks to 0 dp or any other end-radius and dissapears, instead of revealing view inside the circle it reveals the view outside of circle's fill area (so the inside of the circle is the 'transaprent area' instead of outside as it is in the regular circle reveal).

    opened by cr3ativ3 10
  • Cannot execute apk

    Cannot execute apk

    Hi,

    I am getting below error when I am trying to run the apk. Please note build is happening fine.

    Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.

    java.util.zip.ZipException: duplicate entry: io/codetail/widget/RevealLinearLayout.class

    opened by jiteshlalwani 8
  • java.lang.UnsupportedOperationException

    java.lang.UnsupportedOperationException

    К сожалению патч не помог. новый sample.apk вылетает. собрал проект из исходников (кстати не без тацев с бубуном- какой IDE и какой версии вы пользуетесь, в Android Studio приходится снижать версию build tools и убирать из кофигов minify), вот лог ошибки

    11-20 14:16:59.144 23184-23184/io.codetail.circualrevealsample E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:435) at io.codetail.circualrevealsample.widget.FloatingActionButton.onDraw(FloatingActionButton.java:134) at android.view.View.draw(View.java:11014) at android.view.View.getDisplayList(View.java:10444) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.draw(View.java:11017) at android.widget.FrameLayout.draw(FrameLayout.java:450) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2175) at android.view.View.getDisplayList(View.java:10444) at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:883) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2089) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1781) at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2666) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method)

    На будущее просьба - включайте в sample.apk логгирование, чтобы без сборки можно было прочитать лог, и собирайте исходники для Beta-версий IDE (я так понимаю у вас сейчас Anroid Studio из Canary channel)

    ругается вот на эти строчки в FloatingActionButton.java

    @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); final int state = canvas.save(); canvas.clipPath(mCirclePath); // на этой строчке и происходит Exeption canvas.drawPath(mCirclePath, mCirclePaint); mRippleDrawable.draw(canvas); if(mActionIcon != null){ final int beforeActionState = canvas.save(); canvas.translate( (mCircle.x - (mActionSize / 2)), (mCircle.y - (mActionSize / 2))); mActionIcon.draw(canvas); canvas.restoreToCount(beforeActionState); } canvas.restoreToCount(state); }

    спасает все так-же добавление в конструктор

    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) { setLayerType(View.LAYER_TYPE_SOFTWARE, null); }

    opened by Ivan876l678 8
  • Remove NineOldsAndroid dependency?

    Remove NineOldsAndroid dependency?

    IMO, anything supporting below API 14 is a waste of time and resources - NineOldsAndroid dependency could be removed and save us thousands of method calls and kilobytes..

    opened by renaudcerrato 6
  •  error: incompatible types: SupportAnimator cannot be converted to Animator

    error: incompatible types: SupportAnimator cannot be converted to Animator

    Hi i got this problem. Dont know why. Here is my code:

    Gradle

    compile 'de.greenrobot:greendao:2.1.0'
        compile 'com.github.florent37:viewanimator:1.0.5'
        compile 'com.wang.avi:library:2.1.3'  //https://github.com/81813780/AVLoadingIndicatorView
        compile 'com.gordonwong:material-sheet-fab:1.2.1' //https://github.com/gowong/material-sheet-fab
        compile ('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
            transitive = true;
        }
    

    Code:

    
     v.post(new Runnable() {
                                @Override
                                public void run() {
                                    // get the center for the clipping circle
                                        int cx = (v.getLeft() + v.getRight()) / 2;
                                        int cy = (v.getTop() + v.getBottom()) / 2;
    //                                  int cx = v.getRight();
    //                                  int cy = v.getBottom();
    //                                int cx = v.getWidth() / 2;
    //                                int cy = v.getHeight() / 2;
    
                                    // get the final radius for the clipping circle
                                    int dx = Math.max(cx, v.getWidth() - cx);
                                    int dy = Math.max(cy, v.getHeight() - cy);
    
                                    // get the final radius for the clipping circle
                                    int finalRadius = (int) Math.hypot(dx, dy);
    
                                    // create the animator for this view (the start radius is zero)
                                    Animator anim = ViewAnimationUtils.
                                            createCircularReveal(v.getRootView(), cx, cy, (float) 0, (float)finalRadius);
    
                                    anim.setInterpolator(new AccelerateDecelerateInterpolator());
                                    anim.setDuration(400);
                                    // make the view visible and start the animation
                                    anim.start();
    
                                }
                            });
    
    
    

    Xml:

    <?xml version="1.0" encoding="utf-8"?>
    
    <io.codetail.widget.RevealFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
    
            <EditText
                android:id="@+id/edtAddNew"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:background="@drawable/border"
                android:padding="10dp" />
        </FrameLayout>
    </io.codetail.widget.RevealFrameLayout>
    

    And the error say that line: Animator anim = ViewAnimationUtils. createCircularReveal(v.getRootView(), cx, cy, (float) 0, (float)finalRadius);

    opened by fukemy 5
  • Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory

    Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory

    Just try to import Source Code 1.1.1 and got the error. Dont know what's going wrong with it but it showing error on

    screen shot 2015-11-05 at 12 17 19 pm

    While clicking on Open File it redirect to build.gradle. Please have look it.

    apply plugin: 'com.android.library' apply plugin: 'android-maven'

    android {
      compileSdkVersion 22
       buildToolsVersion "22.0.1"
    
         defaultConfig {
            minSdkVersion 9
             targetSdkVersion 22
       }
     }
    dependencies {
      compile 'com.nineoldandroids:library:2.4.0'
    }
    

    Thanks in advance

    opened by nhjariwala 5
  • Touch Events not Intercepted inside Frame & Linear Layouts Pre-L

    Touch Events not Intercepted inside Frame & Linear Layouts Pre-L

    I have a circular reveal frame layout which works fine 5.0+ but when testing on a Pre-L device none of the elements inside the frame layout seem to respond to touch events, at first I thought it was an issue with focusing so I intercepted the touch event and disabled the event for the parent and rerouted it to inside the frame layout but it still didnt work.

    opened by tanallnight 5
  • Library compatibility

    Library compatibility

    Looking at the code, I didn't find any motivation to keep min compatibility to API 10. Could you lower it to 9 at least, please?

    Thanks in advance. Regards

    opened by marbat87 5
  • Animation under the minSdkVersion=

    Animation under the minSdkVersion="14"

    The animation is square instead of round while I set the minSdkVersion="14" in manifest. I have used the version 1.0.2 but it still didn't work.

    bug 
    opened by rty1237ricky 5
  • Crazy Noizy Logs that

    Crazy Noizy Logs that

    crazy and noisy logs How can we disable that

    ` ,api:1,p:277,c:5013) cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 1 is dropped, handle=0x7f6a2dbec0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 0 is dropped, handle=0x7f28b83ae0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 0 is dropped, handle=0x7f28b83ae0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: fps=29.22 dur=1026.60 max=63.36 min=14.09 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 2 is dropped, handle=0x7f6a13c4e0 W/ResourceType( 5013): Failure getting entry for 0x7f0d0005 (t=12 e=5) (error -2147483647) W/ResourceType( 5013): Failure getting entry for 0x7f0d0005 (t=12 e=5) (error -2147483647) W/ResourceType( 5013): Failure getting entry for 0x7f0d0005 (t=12 e=5) (error -2147483647) D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 1 is dropped, handle=0x7f6a2dbec0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 2 is dropped, handle=0x7f6a13c4e0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 1 is dropped, handle=0x7f6a2dbec0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: fps=30.12 dur=1029.05 max=52.38 min=15.59 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 1 is dropped, handle=0x7f6a2dbec0 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 1 D/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 cancelBuffer: slot 2 I/BufferQueueProducer( 5013): SurfaceTexture-0-5013-2 queueBuffer: slot 2 is dropped, handle=0x7f6a13c4e0...

    `

    opened by segunmicheal27 0
  • targetSDKVersion should be updated

    targetSDKVersion should be updated

    Hi, because targetSDKVersion is now 25 in this library, apps that are using this library cannot be uploaded on the playstore, it needs to be updated to the latest targetSDKVersion.

    opened by bitamirshafiee 0
  • 1.0.5 release seems  non-existing in jitpack

    1.0.5 release seems non-existing in jitpack

    I am using CreditCardView library which is using your library's 1.0.5 release.

    Gradle could not resolve the library because it seems your 1.0.5 release is non-existing in jitpack.

    Please recheck your release and upload it to jitpack.

    I solved my issue by forking CreditCardView library, but I don't want others to suffer with this issue.

    Cheers

    opened by egemenhamutcu 0
  • Fix use of Canvas.clipPath with hardware acceleration

    Fix use of Canvas.clipPath with hardware acceleration

    After a few months, finally :-) a fix for #100. I've also included - in a separate commit - minSdkVersion downgrade to 15, but that's for my own purposes - and it works anyway, so I don't see a reason for not doing so. You're free to skip that commit of course, but I'll need to keep my fork in case you do.

    opened by daniele-athome 0
  • unable to solve SupportAnimator

    unable to solve SupportAnimator

    I have added both jitpack maven and lib dependency in my project as describe in Readme file. Now I'm able to import ViewAnimationUtils from this lib But unable to import SupportAnimator.

    opened by Inzimam-Tariq 1
Releases(2.1.0)
Owner
Ozodrukh
Do-er
Ozodrukh
ViewAnimator view with a lollipop style reveal effect

ViewRevealAnimator Widget ViewAnimator view with a lollipop style reveal effect. Regular animation can be set (just like the default ViewAnimator) for

Alessandro Crugnola 339 Jun 3, 2022
Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices.

PreLollipopTransition Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices. Download In your app build.gr

Takahiro Menju 1.3k Nov 28, 2022
DuGuang 1k Dec 14, 2022
Pixel Launcher for everyone!

Flick Launcher Flick Launcher is a project started by Michele Lacorte. I want to create a launcher for google pixels style stock, with a few tweaks. O

Michele Lacorte 284 Dec 20, 2022
Castcle: A decentralized social media for everyone

Castcle-Android A decentralized social media for everyone This is a source code

Castcle Co., Ltd. 1 Apr 28, 2022
Lollipop's Recents container

MaterialRecents Easy to use adapter container. For details check the sample code. Uses CardView, works on all Android versions back to Froyo. I was as

null 496 Nov 25, 2022
ViewAnimator view with a lollipop style reveal effect

ViewRevealAnimator Widget ViewAnimator view with a lollipop style reveal effect. Regular animation can be set (just like the default ViewAnimator) for

Alessandro Crugnola 339 Jun 3, 2022
Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices.

PreLollipopTransition Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices. Download In your app build.gr

Takahiro Menju 1.3k Nov 28, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A support library for VectorDrawable and AnimatedVectorDrawable classes introduced in Lollipop

vector-compat A support library for VectorDrawable and AnimatedVectorDrawable introduced in Lollipop with fully backwards compatible tint support (api

Wael N 1.2k Nov 29, 2022
A pull-down-to-refresh layout inspired by Lollipop overscrolled effects

JellyRefreshLayout A pull-down-to-refresh layout inspired by Lollipop overscrolled effects Preview Download Gradle: repositories { maven {

Y.Chen 628 Oct 26, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
Yet another Twitter unofficial client for Lollipop.

Tweetin Yet another Twitter unofficial client. Just design for Lollipop now!!! Screenshot: How to use the source code? Just import the Tweetin folder

Matthew Lee 177 Aug 24, 2022