标签: android-animation

如何从中心裁剪动画ImageView填充屏幕,反之亦然(脸谱风格)?

背景

Facebook应用程序在帖子上的小图像和用户也可以缩放到它的放大模式之间有一个很好的过渡动画.

在我看来,动画不仅根据以前的位置和大小放大和移动imageView,而且还显示内容而不是拉伸imageView的内容.

这可以通过我做的下一个草图看到:

在此输入图像描述

这个问题

他们是如何做到的呢?他们真的有2个观点动画来揭示内容吗?

他们是如何使它变得如此流畅,就像它是一个单一的视图?

当缩略图设置为中心裁剪时,我已经看到(链接在这里)的图像被放大到全屏的唯一教程不能很好地显示.

不仅如此,它甚至可以在Android的低API上运行.

有人知道有类似能力的图书馆吗?


编辑:我找到了一个方法,并发布了一个答案,但它是基于更改layoutParams,我认为它没有效率和推荐.

我尝试过使用正常的动画和其他动画技巧,但是现在这是唯一对我有用的东西.

如果有人知道该怎么做以使其更好地工作,请写下来.

android crop android-animation android-imageview

23
推荐指数
1
解决办法
8184
查看次数

android 5.0(Lollipop)中最近的应用程序/历史使用哪个动画/视图?

我需要像Android 5.0中的Recent App部分那样做动画.如下图所示.任何提示或链接,甚至这里使用的动画类型都会有所帮助.

动画/ UI类型?

android android-animation

23
推荐指数
1
解决办法
2907
查看次数

TranslateAnimation如何在Android上运行?

我经历了

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显示在 …

android android-animation

22
推荐指数
1
解决办法
3万
查看次数

在android中放大和缩小动画

我有通常放大和缩小两个活动之间动画的代码,但我想要一些不同的东西.如果我点击第一个按钮然后放大将从第一个按钮的位置开始而不是从中心缩放,我的第一个活动上有五个按钮.请帮我.

编辑:缩放应从我单击作为中心的按钮开始.

android android-intent android-animation android-layout

22
推荐指数
2
解决办法
6万
查看次数

如何在Android中玩GIF

您好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)

android android-animation

22
推荐指数
2
解决办法
5万
查看次数

同时启动多个ViewPropertyAnimators

使用Animator类,您可以简单地调用类似下面的内容来同时播放多个动画:

AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(animatorsArray);
animatorSet.start();
Run Code Online (Sandbox Code Playgroud)

但我找不到任何与ViewPropertyAnimator兼容的类似内容.

(仅供参考.我正在尝试为多个listView项目制作动画)

animation android android-animation

22
推荐指数
2
解决办法
9008
查看次数

使用单个ObjectAnimator更改多个属性?

我有一个非常复杂的动画我需要编码,我正在使用一堆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中?

谢谢!

android android-animation objectanimator

22
推荐指数
4
解决办法
2万
查看次数

Android Spinner显示动画材质设计

我只需要一些非常简单的东西.找不到任何在线指南/资源可以帮助我实现以下行为:

所以有三件事:

  1. 涟漪似乎与视图有关
  2. 放大弹出窗口的动画(无法找到自定义方式)
  3. 文本从Spinner字段转移到实际弹出窗口

任何帮助表示赞赏.

编辑

涟漪实际上是一个直接的东西,可以在文档中找到.弹出下拉列表的放大动画是最让我感兴趣的.如果我只能获得对该弹出窗口的引用,我可以为它设置动画但是我想要...想法是谁?

android android-animation material-design

22
推荐指数
1
解决办法
1707
查看次数

android.support.v4.Fragment上的3D翻转动画

我目前正在阅读本教程:

http://developer.android.com/training/animation/cardflip.html

关于片段的翻转动画.不幸的是,object-animator只适用于android.app.Fragment,而不支持Fragment.

我尝试使用缩放和旋转动画重建.xml动画.但是现在动画才刚刚执行,在我设置动画.xml文件的时间过去之后,出现了另一个片段,而不是翻转.

  • 我是否只是在实施.xml动画时犯了错误?
  • 或者,如果没有对象动画师,是否无法进行3D翻转动画?
  • 或者是不可能使用支持Fragment进行3D翻转动画?

这是我的.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)

android android-animation android-fragments page-flipping

21
推荐指数
1
解决办法
1万
查看次数

在具有相同密度的不同Android设备上具有不同的fling(滑动)速度

我正在编写自己的图像查看器,使用户可以向左或向右滑动以查看下一个\上一个图像.我想根据投掷速度为图像变化设置动画.

为了检测一个手势和它的速度,我按照这个基本的手势检测,并按照接受的答案建议:

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)

java android android-animation android-view android-gesture

21
推荐指数
3
解决办法
1万
查看次数