Articles of animation

共享元素转换(前景/背景)问题

我想知道是否有可能改变共享元素转换的z顺序? 看: 我有一个图像的布局,填满了整个屏幕。 在图像的前面是显示图像标题的文本框。 如果我点击文本框,则开始转换到详细信息活动。 因此,我实现了一个共享元素转换,其中全屏图像在详细视图中为其自身缩小版本。 下面的图片说明了这种行为。 我现在的问题是,在这两个活动是文本框,放在共享元素图像上方。 如果我从概览到详细活动,只有在共享元素转换完成后才能看到带有数字的圆圈文本框。 我想放置与共享元素转换上方的数字的文本框,以便我也可以在这个视图元素上做一个animation。 任何想法如何解决这个问题?

ViewFlipper有“巨大的”延迟

我有一个ViewFlipper,它在showPrevious被调用时运行视图animation。 animation效果很好。 但问题是,这是以超过1秒的延迟开始的。 现在这似乎并不多,但严重延迟了应用程序的使用。 我的animation是这样的; Animation inFromLeft = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); inFromLeft.setDuration(350); inFromLeft.setInterpolator(new LinearInterpolator()); Animation outtoRight = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); outtoRight.setDuration(350); outtoRight.setInterpolator(new LinearInterpolator()); 我使用setInAnimation和setOutAnimation设置animation; setInAnimation(inFromLeft); setOutAnimation(outtoRight); 然后我使用showPrevious启动animation 是否有任何原因为什么animation开始延迟超过1秒,animation的startTime是-1和startOffset是0。

ViewPager里面的页边空白和页面转换器不能正确呈现

我有一个内置碎片的视图。 我使用类似于例如 PageTransformer转换中的ViewPager余量 和填充,以便您可以看到当前正在查看的片段两侧的片段的淡出边缘。 但问题是viewpager首次启动时,任何一方的碎片都不会褪色和缩小。 即我的ZoomOutPageTransformer的transformPage方法不会被调用,直到你开始滑动,所以最初的离页右/左或任何视图看起来不正确,然后“跳跃”看完一次刷卡。 任何想法,我可以使它正确呈现,所以如,如果我打电话 myViewPager.setCurrentItem(1) – 或者任何东西,页面的边将被适当的缩小。 我怎样才能让viewpager正确渲染zoomoutpagetransformer应用到“屏幕外”片段?

Android:使用展开animation添加视图(不闪烁)

我想使用展开的animation为视图组添加视图,所以添加的视图开始非常小,并占用越来越多的空间,直到达到其全部大小(可能移动过程中的其他视图)。 尝试不同的方法后,我想出了下面的解决scheme。 投票,如果它可以帮助你或请张贴一个更好的select。 我相信肯定有一个更简单的方法来做到这一点。 欲了解更多信息,请参阅这个和这一个职位。 以下是我如何添加视图并开始animation: // Trick: set height to 1 so the view doesn't take its full size at the beginning. // (0 doesn't work, I don't know why) container.addView(view, LayoutParams.MATCH_PARENT, 1); Animation expansion = createExpansion(view); expansion.setDuration(200); view.startAnimation(expansion); createExpansion()方法: public static Animation createExpansion(View view) { return new SizedHeightScaleAnimation(view, 0, 1, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, […]

在回收视图中的每个项目的视差效果?

我试图玩Parallax和得到一些奇怪的错误,想知道如果有人可以添加一些input。 我见过的唯一有效实现视差的应用程序是soundcloud。 这是非常微妙的,但每个项目都有一个图像的背景,并有滚动时的视差效果。 我已经创build了一个自定义RecyclerView来处理这个,这是我到目前为止: public class ParallaxScrollListener extends RecyclerView.OnScrollListener { private float scrollSpeed = 0.5f; @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); int firstVisible = layoutManager.findFirstVisibleItemPosition(); int visibleCount = Math.abs(firstVisible – layoutManager.findLastVisibleItemPosition()); Matrix imageMatrix; float tempSpeed = -100; if (dy > 0) { tempSpeed […]

Challange:ViewPager的自定义animation。 更改所选元素的高度(查看倍数)

我目前正在ViewPager中切换页面之间的自定义animation。 当我向左滑动时,View正在向左移动,并从其下方看到新的View正在前方。 我想提出一个观点,那就是左边的(我处理的)像下面的图像那样缩小: 在第二和第三张照片上,我没有看到前面的新视图,但是我认为没有必要。 你有什么想法如何修改代码? 我想改变TableLayout,RelativeLayout和FrameLayout的高度,并保持两个TextViews的高度。 此外,我将不得不改变整个视图的X位置。 我期待着您的创意答案(代码)。 下面我附上我的animation代码。 import android.view.View; import android.widget.RelativeLayout; import android.annotation.SuppressLint; import android.support.v4.view.ViewPager.PageTransformer; public class DepthPageTransformer implements PageTransformer { private static float MIN_SCALE = 0.75f; @SuppressLint("NewApi") public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to […]

无限ObjectAnimator与插值器…如何只加速初始启动?

我有一个无限重复模式的对象animation师。 我只想在第一次启动的时候加速它,而不是每一次都在重复 这怎么能实现? 我的代码: universeMovement1 = ObjectAnimator.ofFloat(universeImageView, "x", 0, sw); universeMovement1.setDuration(UNIVERSE_MOVEMENT_TIME); universeMovement1.setRepeatCount(ObjectAnimator.INFINITE); universeMovement1.setRepeatMode(ObjectAnimator.RESTART); universeMovement1.setInterpolator(new AccelerateInterpolator());

选项菜单animation

我怎么能给这样一个幻灯片animation: <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="1000" android:fromYDelta="0" android:toYDelta="100%" /> </set> 为“选项菜单”打开。喜欢这个animation:

如何在Android中加载5行和5列顶视图的精灵表?

我有一个精彩的612×864维度的5行和5列。我的问题是如何加载和animation? 我只想在y轴上移动猫精灵。我已经试过,但是我的代码工作不正常。 这是我的代码。 在GameView.java中 import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.view.SurfaceHolder; import android.view.SurfaceView; public class GameView extends SurfaceView { private Bitmap bmp; private SurfaceHolder holder; private GameLoopThread gameLoopThread; private Sprite sprite; public GameView(Context context) { super(context); gameLoopThread = new GameLoopThread(this); holder = getHolder(); holder.addCallback(new SurfaceHolder.Callback() { @Override public void surfaceDestroyed(SurfaceHolder […]

NineOldAndroids,旋转或移动后不能点击查看

我使用NineOldAndroids 2.4.0来为对象的运动和转换主要进行animation处理。 在Android 4.0及以上版本都可以正常工作,但在之前的版本(2.1,2.3)之后,animation元素没有获得焦点并且不可点击。 示例代码: View v = findViewById(R.id.button1); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Click!", Toast.LENGTH_SHORT).show(); } }); ObjectAnimator moveDown = ObjectAnimator.ofFloat(v, "translationY", 100f); moveDown.setDuration(5000); moveDown.start(); 这是在图书馆的错误,或者我做错了什么? 如果这个库不支持“Honeycomb animation API”的所有function,那么在我的项目中就没用了。 Android开发人员在“Honeycomb中的animation”上的博客: 由于系统实际上正在改变目标对象的属性,所以对象本身被改变,而不仅仅是它们的外观。 所以你移动的button实际上是移动的,而不是只是在不同的地方绘制。 你甚至可以点击它的animation位置。 继续点击它; 我赌你。