Articles of animation

animation通过点数组

我相信有一个简单的方法来做到这一点,但我卡住了。 假设我有一个要点列表: Point[] list = {pointA, pointB, pointC, …} 我想通过每个点animationImageView所以我试过这个: id = 0; AnimatorListenerAdapter animEnd = new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); id++; if(id != list.length) { iv.animate() .translationX(list[id].getX()) .translationY(list[id].getY()) .setDuration(200) .setListener(this); } } }; iv.animate() .translationX(list[id].getX()).translationY(list[id].getY()) .setDuration(200).setListener(animEnd); 它的作品,但每个animation之间有一个轻微的延迟。 任何想法? 谢谢 !

如何使用ViewPropertyAnimator生成循环animation?

我想build立一个TextViews的animation,在完成后重复。 对于我想要animation的每个视图,我使用下面的一段代码 final float oldX = v.getX(); final float newX = v.getX() – (float)totalWidth; final AnimatorListenerAdapter listener = new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { v.setX(oldX); animFinished = true; //This line won't compile //v.animate().setDuration(animDuration).setInterpolator(newsInterpolator) // .setListener(listener).x(newX); } }; v.animate().setDuration(animDuration).setInterpolator(newsInterpolator) .setListener(listener).x(newX); 我试图把最后一段代码放到onAnimationEnd中,但是由于Java认为对象监听器没有被初始化,Java将不会编译。 而且,我不认为这个“recursion”的animation调用是一个很好的解决scheme,这是我想起来的第一个东西。 我怀疑有一个简单和可靠的方法来实现循环属性animation,但我没有find它,所以我转过来寻求帮助。 提前致谢

如何在ViewPager位置偏移更改时为视图添加animation

我们希望创build一个带有animation的应用程序,其中用户滚动浏览页面,当用户滚动时,一个视图被animation化并通过所有幻灯片。 animation视图应该随着用户滚动而移动,所以如果用户滚动得更快,animation视图应该移动得更快,并且如果用户滚动回到前一页,则animation视图应该向后移动。 在iOS中使用https://github.com/IFTTT/JazzHands这非常简单,但我无法在Android中find这样的方法。 我发现的问题: animation运行实时; 你不能让时间成为ViewPager的偏移量。 在FragmentPagerAdapter ,一个片段的视图不能移动到另一个片段。 任何build议? 谢谢。

animationseekbar进度

我有一个屏幕有4个search栏(如下图所示)。 如果用户移动B,则C或DI计算三者的平均值,并将A的setProgress设置为平均值。 这是很容易的部分。 我想要做的是使进度条A有一个animation,以便它不会一次性跳跃(例如从25到75)。 什么是build议的方式来animationA? 我得到了一个简单的animation,但我每50ms调用一个TimerTask,以单位值递增或递减A,直到达到所需的位置。 但是效率不高。 注意:我有一个自定义的Seekbar对象,我使用它创build了seekBar的A,B,C和D.对不起,我真的不能分享代码,但很乐意澄清任何事情。

如何制作像这样的自定义导航视图animation

我怎样才能实现导航视图的animation,就像这个? 到目前为止,我认为只能通过编写一个自定义的导航视图,问题是它应该是什么样子。 还是有另一个选项?

Android:我的片段转换animation有什么问题?

我只需要简单的滑入和滑出片段过渡animation,下面是我的代码:slide_in_left.xml: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true"> <translate android:fromXDelta="-100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"> </translate> </set> slide_out_right.xml: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="0%" android:toXDelta="100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"> </translate> </set> 我使用的代码: SomeFragment frag = SomeFragment.newInstance(foo); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); ft.replace(R.id.the_fragment, frag); ft.addToBackStack(null); ft.commit(); 结果看起来非常奇怪,当转换开始时,当前片段消失而没有animation,input片段像来自左侧的滚动纸一样。 我的animationXML代码有什么问题? 谢谢!

自定义android AccelerateDecelerateInterpolator

我正在尝试使用AccelerateDecelerateInterpolator并自定义它。 我可以看到像DecelerateInterpolator这样的Interpolator有一个“factor”字段,所以你可以改变它的行为。 但AccelerateDecelerateInterpolator不具有。 当我使用AccelerateDecelerateInterpolator时,我甚至不会注意到插补器在做什么。 animation看起来非常线性。 那么,有什么办法来加速AccelerationDecelerateInterpolator或以任何方式改变它? 谢谢

奇怪的View.getHitRect()行为

我有一个简单的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="animate" android:text="animate" /> </LinearLayout> 并在我的活动中,我正在打印改变其位置后的button矩形: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void animate(View view) { printHitRect(); findViewById(R.id.button1).setY(50); printHitRect(); } private void printHitRect() { Rect rect = new Rect(); findViewById(R.id.button1).getHitRect(rect); Log.d(">>button1 hit […]

Android 2.2上的CSS3animation闪烁(webkit-transform:同时翻译(..)scale(..))

我在Android上做了一些关于CSS3animation的研究(使用webkit转换进行转换)。 CSS3animation在Webkit中仍然是一个实验性的function。 如果您尝试同时进行翻译和缩放,则会在CSSanimation中发现一些故障和/或错误(例如,请参阅http://www.youtube.com/watch?v=vZdBVzN1B8Y )。 换句话说,在Android的许多版本中,属性-webkit-transform:matrix(…)无法正常工作。 要同时进行缩放和平移的唯一正确方法是按此顺序设置“-webkit-transform:scale(…)translate(…)” 。 我会在这篇文章的底部撕掉我的结果。 正如你所看到的,我已经克服了其中的大部分。 然而,在Android 2.2(Froyo)的某些转换中仍然有一些“闪烁”。 现在我的问题是:有没有什么办法可以在Android 2.2上同时进行缩放和翻译? 我也试过-webkit-backface-visibility:hidden; , -webkit-perspective:1000; 和-webkit-transform:translate3d(..,0),但是这些属性在转换中引入了一些小故障。 您可以在以下video中看到: http : //www.youtube.com/watch?v= Aplk-m8WRUE转换停止后缩放将被取消。 有没有其他的解决办法来抑制闪烁? 有任何想法吗? 下面是关于Android上CSS3转换的结果(1.5 <= ver <= 2.2)。 它在蓝色框中同时使用缩放和翻译。 <html> <head> <title>css3test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width"> </head> <body> <div id='log'></div> <div id='box' style="background-color: blue; width:100; height:100;"></div> <script language='JavaScript'> function mesg(str) […]

我怎样才能使Android的寻求酒吧顺利移动?

我试图让一个SeekBar移动比直接跳到位置更顺利。 我这样做,因为我有一个SeekBar 3个滑块types实现的选项。 我正在寻找创build一个很好的平滑滑块,有3个选项“是”,“没有选项”,“否”,在我的应用程序的function和SeekBar看起来最好和最简单的方法。 我试过看Androidanimation,它似乎有点复杂,所以如果有人可以有任何帮助,这将是好的:)