Facebook应用程序在帖子上的小图像和用户也可以缩放到它的放大模式之间有一个很好的过渡动画.
在我看来,动画不仅根据以前的位置和大小放大和移动imageView,而且还显示内容而不是拉伸imageView的内容.
这可以通过我做的下一个草图看到:

他们是如何做到的呢?他们真的有2个观点动画来揭示内容吗?
他们是如何使它变得如此流畅,就像它是一个单一的视图?
当缩略图设置为中心裁剪时,我已经看到(链接在这里)的图像被放大到全屏的唯一教程不能很好地显示.
不仅如此,它甚至可以在Android的低API上运行.
有人知道有类似能力的图书馆吗?
编辑:我找到了一个方法,并发布了一个答案,但它是基于更改layoutParams,我认为它没有效率和推荐.
我尝试过使用正常的动画和其他动画技巧,但是现在这是唯一对我有用的东西.
如果有人知道该怎么做以使其更好地工作,请写下来.
我需要像Android 5.0中的Recent App部分那样做动画.如下图所示.任何提示或链接,甚至这里使用的动画类型都会有所帮助.

我经历了
TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
Run Code Online (Sandbox Code Playgroud)
但我仍然对如何Translate animation运作感到困惑.
有人可以解释它是如何工作的吗?我读了那些说的文件
fromXDelta Change in X coordinate to apply at the start of the animation
toXDelta Change in X coordinate to apply at the end of the animation
fromYDelta Change in Y coordinate to apply at the start of the animation
toYDelta Change in Y coordinate to apply at the end of the animation
Run Code Online (Sandbox Code Playgroud)
但我仍然不清楚它是如何工作的.
编辑:我有Button一个LinearLayout没有任何孩子.当我点击时,Button我想动态生成一个TextView和动画TextView显示在 …
我有通常放大和缩小两个活动之间动画的代码,但我想要一些不同的东西.如果我点击第一个按钮然后放大将从第一个按钮的位置开始而不是从中心缩放,我的第一个活动上有五个按钮.请帮我.
编辑:缩放应从我单击作为中心的按钮开始.
您好stackoverflow我正在尝试开发一个Android应用程序来玩我自己的GIF,这里是代码片段
MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
AnimationView.java
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;
public class AnimationView extends View {
private Movie mMovie;
private long mMovieStart;
private static final boolean DECODE_STREAM = true;
private int mDrawLeftPos;
private int mHeight, mWidth;
private static byte[] streamToBytes(InputStream is) {
ByteArrayOutputStream os = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
int …Run Code Online (Sandbox Code Playgroud) 使用Animator类,您可以简单地调用类似下面的内容来同时播放多个动画:
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(animatorsArray);
animatorSet.start();
Run Code Online (Sandbox Code Playgroud)
但我找不到任何与ViewPropertyAnimator兼容的类似内容.
(仅供参考.我正在尝试为多个listView项目制作动画)
我有一个非常复杂的动画我需要编码,我正在使用一堆ObjectAnimators,如下所示:
ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(view, TRANSLATION_X, value).setDuration(BASE_DURATION * 2);
ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(view, TRANSLATION_Y, value).setDuration(BASE_DURATION * 2);
Run Code Online (Sandbox Code Playgroud)
是否可以将X和Y转换分组到同一个ObjectAnimator中,而不是创建一堆它们然后将它们全部添加到AnimatorSet中?
谢谢!
我只需要一些非常简单的东西.找不到任何在线指南/资源可以帮助我实现以下行为:
所以有三件事:
任何帮助表示赞赏.
编辑
涟漪实际上是一个直接的东西,可以在文档中找到.弹出下拉列表的放大动画是最让我感兴趣的.如果我只能获得对该弹出窗口的引用,我可以为它设置动画但是我想要...想法是谁?
我目前正在阅读本教程:
http://developer.android.com/training/animation/cardflip.html
关于片段的翻转动画.不幸的是,object-animator只适用于android.app.Fragment,而不支持Fragment.
我尝试使用缩放和旋转动画重建.xml动画.但是现在动画才刚刚执行,在我设置动画.xml文件的时间过去之后,出现了另一个片段,而不是翻转.
这是我的.xml动画:flip_left_in.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Before rotating, immediately set the alpha to 0. -->
<alpha
android:valueFrom="1.0"
android:valueTo="0.0"
android:propertyName="alpha"
android:duration="0" />
<!-- Rotate. -->
<rotate
android:valueFrom="-180"
android:valueTo="0"
android:propertyName="rotationY"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:duration="800"/>
<!-- Half-way through the rotation (see startOffset), set the alpha to 1. -->
<alpha
android:valueFrom="0.0"
android:valueTo="1.0"
android:startOffset="400"
android:duration="1" />
</set>
Run Code Online (Sandbox Code Playgroud)
flip_left_out.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Rotate. -->
<rotate
android:duration="800"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:propertyName="rotationY"
android:valueFrom="0"
android:valueTo="180" />
<!-- Half-way through the rotation …Run Code Online (Sandbox Code Playgroud) 我正在编写自己的图像查看器,使用户可以向左或向右滑动以查看下一个\上一个图像.我想根据投掷速度为图像变化设置动画.
为了检测一个手势和它的速度,我按照这个基本的手势检测,并按照接受的答案建议:
public class SelectFilterActivity extends Activity implements OnClickListener
{
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* ... */
// Gesture detection
gestureDetector = new GestureDetector(this, new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override …Run Code Online (Sandbox Code Playgroud)