GithubHelp home page GithubHelp logo

xunmengwinter / circularanim Goto Github PK

View Code? Open in Web Editor NEW
2.0K 58.0 306.0 242 KB

Android ripple animation helper, easy to create Circular Reveal. | Android水波动画帮助类,轻松实现View show/hide/startActivity()特效。(0.4.6)

Java 100.00%
android animation dribbble

circularanim's Issues

铺满颜色启动Activity时显示延迟

您好,首先感谢提供这么好用的功能

我感觉铺满颜色启动页面时新页面出现有点延迟。。
也就是说全屏颜色的时候会停顿一下,
有没有办法像你在文档开头放的那张UI图那样,
颜色在刚刚铺满屏幕的时候马上显示出新的页面。

不知道这个停顿的时间是不是依赖于activity的启动时间
或者说跟设备的内存等属性也有关系
有没有可能让铺满颜色的效果像Toast那样运行在activity之上
这样在跳转页面时就可以直接启动activity
而不是等动画执行完再启动
不知道我这个想法对吗。。。

再次感谢

show之后显示不出来

点击:mTvDoorTopConfirm.setEnabled(false);
progressbar.setVisibility(View.VISIBLE);
// 收缩按钮
CircularAnimUtil.hide(mTvDoorTopConfirm);
请求返回数据:progressbar.setVisibility(View.GONE);
mTvDoorTopConfirm.setEnabled(true);
// 伸展按钮
CircularAnimUtil.show(mTvDoorTopConfirm);

代码是这样的,

startActivity 没有动画

android 6.0
startActivity 新的activity 有fadein的效果, 但是decorview 下面添加的view 好像没效果
我设置的color #ffffff

你好!在Activity返回时,没有水波收缩动画

@XunMengWinter
你好!在Activity返回时,没有水波收缩动画
我看到在你的demo里MainActivity启动一个EmptyActivity时有一个水波扩散动画,然后以淡入淡出的形式出现另一个EmptyActivity,然后在退出EmptyActivity的时候,会有一个水波收缩的动画,然后显示出MainActivity。我看你的代码里写的是
// 默认显示返回至当前Activity的动画. triggerView.postDelayed(new Runnable() { @Override public void run() { Animator anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, finalRadius, 0); anim.setDuration(finalDuration); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); try { decorView.removeView(view); } catch (Exception e) { e.printStackTrace(); } } }); anim.start(); } }, 1000);

这段代码里是紧接着在启动EmptyActivity之后的,那为什么在退出EmptyActivity之后还能看到水波收缩的动画呢?不是在启动EmptyActivity之后,MainActivity里不会执行这段代码吗?是不是因为失去焦点,然后这个triggerView的动画就不执行,然后等从EmptyActivity返回到MainActivity后得到焦点就再继续执行,所以才造成退出EmptyActivity的时候可以看到triggerView的水波收缩动画呢?

我把EmptyActivity设置成透明的之后,再启动EmptyActivity会发现MainActivity中triggerView会在过一秒钟之后就自动执行收缩动画了。然后再按返回键就没有了之前的返回动画效果了(因为上面那段代码已经执行了)。

又是小米..

以前找的statuebar、badge、推送在小米上都麻烦的要命..
这次果然activity跳转又被坑进去了..
不吐不快啊
P.S谢谢大神的作品,一个字:酷!

关于fullactivity()的时间疑问

使用了fullactivity,然后在里面不管startanimator和returnanimator的duration设置多短,这两个动画中间似乎有一个有一个比较长的时间?就是,比如我点一个按钮触发fullactivity(实际上只是replace一个fragment), 然后会先快速出现覆盖全屏水波,然后停了大概两秒,然后水波收回,出现另外一个fragment。中间的那两秒的时间如何改?然后,是否可以设置然后水波不收回直接显示新的fragment?

让按钮收缩不起作用

    CircularAnim.show(login).go();

只让按钮显示 没有动画。
原因:收縮动画未完成,展开动画就开始了。可否修改逻辑仅当前一个动画完成后下一个动画才开始

另外,如果能开放系统动画的delay接口,就更好了。

Recommend

  • 录制屏幕可以使用RoboGif
  • 快速发布可以使用jitpack.io

推荐 jitpack

jcenter 发布是挺烦的,而且会有数量限制,不介意可以试试 jitpack.io,直接在 github 上加个 tag,然后地址贴过去就可以了

Cannot start this animator on a detached view!

Hi, my code is the following:

CircularAnim.fullActivity(MyActivity.this, view).colorOrImageRes(R.color.blue_dark).go(new CircularAnim.OnAnimationEndListener() { @Override public void onAnimationEnd() { startActivity(intent); } });

The error is:

Fatal Exception: java.lang.IllegalStateException: Cannot start this animator on a detached view! at android.view.RenderNode.addAnimator(RenderNode.java:817) at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:300) at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:282) at android.animation.RevealAnimator.(RevealAnimator.java) at android.view.ViewAnimationUtils.createCircularReveal(ViewAnimationUtils.java:53) at top.wefor.circularanim.CircularAnim$FullActivityBuilder$1$1.run(CircularAnim.java:254) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:6102) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

It appears on Android 5 and 6.

Thanks.

with fragments and dialogs.

  1. How can i use it with fragments and dialogs ?
  2. Is it works for lower APIs than Lollipop with same effect?

thanks. 👍

源码中有个地方写错了吧

int cx = (myView.getLeft() + myView.getRight()) / 2;
int cy = (myView.getTop() + myView.getBottom()) / 2;

这个地方应该取得view的中心坐标吧,应该是getRight - getLeft,我测试代码的时候发现水波中心确实不在正中间。

几率不出现返回动画

Activity A >> ActivityB时永远会有动画,
但Activity B 执行onBackPressed()时,有一定几率不执行收回动画;
onBackPressed()并没有@OverRide

Activity A >> Activity B后,
Activity B >> Activity C;
Activity C onBackPressed()回到Activity B, 此时Activity B执行onBackPressed(),不会出现返回动画

以上,只在Activity A中的onClick()中使用了
CircularAnimUtil.startActivity(this, f2lIntent, iv_first_layout_menu, R.color.bluegrey_900);

关于JCenter的上传方法

  • 鸿洋的微信公众号里几个月前有一片关于JCenter上传包的方法。挺简单的(无形中给鸿洋打了波广告 。。。)
  • 另外之前我还试过一种,简单配置很少的东西,然后把生成的zip包手动上传到JCenter,这个虽然手动,但是确实很好用(这个方法我是在简书里搜到的)

希望对你有帮助哈

启动Activity问题

用那个铺满屏幕启动Activity 时 图片(颜色)还没铺满屏幕 Activity 就启动了 而且还是从后面弹出来那种切换效果 怎么解.

AndroidRuntime: FATAL EXCEPTION: main

java.lang.IllegalStateException: Cannot start this animator on a detached view!

at android.view.RenderNode.addAnimator(RenderNode.java:812)

at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:300)

at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:282)

at android.animation.RevealAnimator.<init>(RevealAnimator.java:37)

at android.view.ViewAnimationUtils.createCircularReveal(ViewAnimationUtils.java:55)

at com.xxx.xxx.util.CircularAnimUtil$2$1.run(CircularAnimUtil.java:147)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.