Articles of animation

如何在RecyclerView中使用GridLayoutAnimation?

我试图用新的RecyclerView(使用GridLayoutManager)replace我的GridView,但它似乎不能很好地处理gridLayoutAnimation( ClassCastException: LayoutAnimationController$AnimationParameters cannot be cast to GridLayoutAnimationController$AnimationParameters )。 它使用常规的布局animation,但由于它是网格,在平板电脑上完成需要很长时间。 我试图完成的是类似于分层时序 。 如果您查看示例video,则会显示布局animation从左上angular到右下angular。 一个普通的布局animation会在一行之后执行animation行,因此在较大的网格(例如平板电脑)上花费太多的时间来完成。 我也尝试过探索ItemAnimator,但是它只会在“Do not”示例中同时在所有单元格上运行animation。 有没有一种方法可以在RecyclerView中完成这个网格布局animation? 这是gridview_layout_animation.xml: <!– replace gridLayoutAnimation with layoutAnimation and –> <!– replace column- and rowDelay with delay for RecyclerView –> <gridLayoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:columnDelay="15%" android:rowDelay="15%" android:animation="@anim/grow_in" android:animationOrder="normal" android:direction="top_to_bottom|left_to_right" android:interpolator="@android:interpolator/linear" /> 这是animationgrow_in.xml: <set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:interpolator/decelerate_quint" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" […]

在TextView中dynamic加载AnimationDrawable

我需要用图像replace文本中的短语,然后将其附加到TextView。 对于常规的Drawables来说,这没有问题,但是当Drawable是一个AnimationDrawable时,我不知道何时何地调用.start(); 。 这是我如何将文本追加到TextView: textview.append(Html.fromHtml(textWithHtmlImgTags, imagegetter, null)); textWithHtmlImgTags中的图像标签被imagegetterreplace: new ImageGetter() { @Override public Drawable getDrawable(String source) { if(source.endsWith("_ani")) { Log.i("cmv", "This is an animated drawable."); AnimationDrawable dra = (AnimationDrawable)res.getDrawable(sRes.get(source)); dra.setBounds(0, 0, dra.getIntrinsicWidth(), dra.getIntrinsicHeight()); dra.start(); // This doesn't work.. return dra; } Drawable dr = res.getDrawable(sRes.get(source)); dr.setBounds(0, 0, dr.getIntrinsicWidth(), dr.getIntrinsicHeight()); return dr; } }; 我的AnimationDrawables被添加,但他们没有animation(他们卡在第1帧)。 在文档中说: […]

Android ViewPropertyAnimator不能同时缩放

我试图使用ViewPropertyAnimator每次按下button时缩放视图(不确定的ProgressBar)。 loadingCircle.animate().scaleY(1.5f).scaleX(1.5f).setDuration(100f); 我有一个animatorListener,缩放回正常onAnimationEnd: loadingCircle.animate().scaleY(1.0f).scaleX(1.0f).setDuration(100f); 没有太复杂。 但是,似乎并不总是在同一时间同时调整x和y。 通常第一次是正确的,有时是第二次。 当它不起作用时,它只会animation链中的最后一个操作。 如果是scaleX,它只会缩放X.如果我交换它,它只会缩放Y. scaleX和scaleY的文档说: 已经在该物业上运行的animation将被取消 不过,我认为ViewPropertyAnimator能够被链接,而这个评论只适用于新的animation(在不同的代码行上)。 我做错了什么,或者我发现了一个错误? 我在GalaxyS4上运行Android 4.2.2。 股票ROM,但扎根。 如果这有所作为

如何将animation添加到android中的文本视图

我有一个TextView ,我试图在animation添加淡入淡出。 我的代码返回null ,我不明白为什么。 这是我的实现 这是fade_in.xml <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:duration="1000" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="1.0"/> 这里是如何使用它在相应的活动 tv= (TextView)findViewById(R.id.textView); //– the below line is returning null animation = AnimationUtils.loadAnimation(this,R.anim.fade_in); animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { tv.setVisibility(View.VISIBLE); } @Override public void onAnimationEnd(Animation animation) { Intent it = new Intent(SplashActivity.this, MainActivity.class); startActivity(it); } @Override public void onAnimationRepeat(Animation […]

Android中无缝从左到右的活动过渡animation

我有两个活动,我希望当用户触摸第一个活动的button时,新的活动从左边滑入并向右移动,而第一个活动也一样,它向右移动,滑出它会产生一种效果,即新的活动将旧的活动推向右侧并取而代之。 为了做到这一点,我写了下面的XML: 在animation中 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%" android:toXDelta="0" android:duration="1250" /> </set> animation <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="-100%" android:duration="1250" /> </set> 我称之为overridePendingTransition(R.anim.anim_in,R.anim.anim_out); 函数在新活动的onCreate方法中。 在最终的效果中,新的活动从左到右正确地移动,但是第一个较老的活动移动到相反的方向; 它移动到左边。 我想要恢复这个第一个活动的移动方向。 我怎么能这样做,是否有一个XML属性用于这个目的?

滑动层活动animationandroid

我想按照材料devise指南中的描述,为活动转换实现滑动层animation。 不过,我现在所能做的只是slide_in和stayanimation的简单组合,它不会给我一个叠层效果。 我怎样才能做到这一点? 我目前的实施: 在活动开始: activity.overridePendingTransition(R.anim.slide_in_right, R.anim.stay); 在活动closures: activity.overridePendingTransition(R.anim.stay, R.anim.slide_out_right); slide_in_right.xml: <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime" /> </set> slide_out_right.xml: <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime" /> </set> stay.xml: <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_shortAnimTime" android:fromYDelta="0%p" android:toYDelta="0%p" />

Android棒棒糖中属于不同活动的片段之间的共享元素转换

我有一个属于一个活动的片段中的共享元素。 我想在Android Lollipop中使用属于另一个活动的片段的一部分的元素进行共享元素转换。 可能吗? 我怎样才能做到这一点?

animation在视图之间转换,并在z轴上旋转,并具有深度感知

我试图创build一个animation在两个视图之间转换,这两个视图都是ExpandableListViews。 我想要的外观在下图中描述。 我尝试使用shrink_to_middle和grow_from_middle作为我的ViewAnimator的out / inanimation – 它接近但不是很正确 – 随着当前的缩小/增长,animation发生时,视图的右边和左边都是相同的高度,这不会给animation提供任何深度。 我不知道如何最好地解释我想要什么,这就是为什么我画了图像,但是反正这里…我想有一个三维的animation,在z轴上旋转视图。 假设我们使用一个简单的shrink_to_middle和grow_from_middleanimation作为起点(它不提供三维外观)。为了提供三维外观,当animation缩小到视图时,animation会使右边逐渐变小中间; 随着视图从中间增长,animation中的左边缘会逐渐变大。 图像1到4将是animation(对于视图#1),而图像5-8将是animation(对于视图2) 提前致谢。 编辑 :FYI,这是我目前收缩到中间,并从中间animationXML文件成长 shrink_to_middle.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/linear_interpolator" android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="1.0" android:fillAfter="false" android:duration="500" /> <translate android:fromXDelta="0" android:toXDelta="50%" android:duration="500" /> </set> grow_from_middle.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/linear_interpolator" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="1.0" android:toYScale="1.0" android:fillAfter="false" android:startOffset="200" android:duration="500" /> <translate android:fromXDelta="50%" […]

FloatingActionButton图标animation(Android FAB src可绘制animation)

我试图find有关如何创buildFAB(devise支持库)的图标animation的文档,search一段时间后,我无法find任何有关它的信息,Android开发人员的AnimationDrawable引用不适用于FAB的,即使该类是ImageView的一个子类。 但设法得到一个解决scheme,工作得很好。

animation之后TranslateAnimated ImageView无法点击

我有2个ImageView ,我从屏幕的顶部翻译到底部。 这些视图是从xml完成​​的,animation是从java代码中添加的。 animation完美的作品,但我添加在java代码中的onClickListener似乎不工作。 我使用了animation的fillAfter属性来使这些图片在翻译之后停留在它们的到来,但是这些图像不再是可点击的…但是,它们在翻译之前的位置仍然是可点击的…我看不到这个逻辑。 谁能给我一些关于这个的build议?