标签: android-animation

ObjectAnimator没有淡入

我正在尝试使用该Animator集顺序播放一组动画.除了alpha动画(set1)之外,一切正常.它从0.25f变为1但在整个动画中并没有消失,在动画结束时set1它从0.25变为1而没有考虑到setDuration(因此我没有得到淡入效果).所以我没有淡出效果......当我自己做这个动画时,淡入效果就在那里......任何想法?

我正在使用精彩的nineoldandroids库来实现这一点.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final ImageView image = (ImageView) findViewById(R.id.image);
    final AnimatorSet set = new AnimatorSet();
    set.play(ObjectAnimator.ofFloat(image, "translationX", 0, 100).setDuration(3000));

    final AnimatorSet set1 = new AnimatorSet();
    //THIS IS THE PROBLEMATIC ANIMATION!!
    set1.play(ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1).setDuration(3000));

    final AnimatorSet set2 = new AnimatorSet();
    set2.play(ObjectAnimator.ofFloat(image, "translationX", 100, 200).setDuration(3000));

    final AnimatorSet set3 = new AnimatorSet();
    set3.playSequentially(set,set1,set2);
    set3.start();
}   
Run Code Online (Sandbox Code Playgroud)

android android-animation

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

动画视图滑出另一个视图,将视图推到下面

我有一个按钮列表.当我按下按钮时,视图应该向下滑动按钮,如下所示:

开始:
在此输入图像描述

半:
在此输入图像描述

结束:
在此输入图像描述

我该怎么做?应该滑出的视图比按钮大,因此首先隐藏按钮后面的View然后向下滑动会导致视图在按钮上方可见.这不应该发生.

有关如何处理此问题的任何想法或示例?

android android-animation

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

更改ActionBar隐藏动画?

默认情况下,在Android 3.0+中,当调用ActionBar.hide()/ show()时,条形图会以简短的淡入/淡出动画进行动画处理.

此列表中似乎没有与动画资源关联的XML样式属性.

有没有办法改变这个动画?在我的情况下,我只是想改变动画时间,但是也可以有滑动动画吗?

android android-animation android-3.0-honeycomb android-actionbar

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

滚动时动画RecyclerView

滚动时有没有办法为RecyclerView的元素设置动画?

我看了看DefaultItemAnimatorRecyclerView.ItemAnimator,但动画似乎如果数据集已经改变了只叫,请纠正我,如果我错了.

我什么RecyclerView.ItemAnimator.animateMove()时候打电话有点困惑?我在该课程中添加了一些断点,但没有一个断点停止我的应用程序.

但是回到我的问题,我如何为RecyclerView设置动画?我希望某些元素具有另一个不透明度,取决于一些自定义规则.


我做了一些更多的动画似乎动画移动正是我正在寻找的.这些方法是从dispatchLayout().这是该方法的javadoc:

layoutChildren()周围的包装器,用于处理由布局引起的动画更改.动画假设有五种不同类型的项目:
PERSISTENT:项目在布局之前和之后可见
REMOVED:项目在布局之前可见并且被应用程序删除
ADDED:项目在布局之前不存在并且由应用程序
DISAPPEARING:项目存在于数据集之前/之后,但在布局过程中从可见变为不可见(它们被移出屏幕作为其他更改的副作用)
出现:数据集中存在项目之前/之后,但在布局过程中从不可见变为可见(它们在屏幕上移动作为其他变化的副作用)
整体方法确定布局之前/之后存在哪些项目并推断五个中的一个以上状态为每个项目.然后相应地设置动画:
移动PERSISTENT视图({@link ItemAnimator #animateMove(ViewHolder,int,int,int,int)})删除REMOVED视图({@link ItemAnimator #animateRemove(ViewHolder)})
ADDED视图添加({@link ItemAnimator#animateAdd(ViewHolder)})
DISAPPEARING视图移出屏幕
在屏幕上移动视图

到目前为止,我正在寻找PERSISTENT,DISAPPEARING和APPEARING,但是这个方法从未被调用,因为这里有这一行:

boolean animateChangesSimple = mItemAnimator != null && mItemsAddedOrRemoved
            && !mItemsChanged;
Run Code Online (Sandbox Code Playgroud)

mItemsAddedOrRemoved总是假的,所以没有达到任何回调.知道如何正确设置设置标志吗?

android android-animation android-recyclerview

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

Viewpager选项卡中的动画更改fadein/fadeout,就像Linkedin介绍屏幕一样

我想在Android应用程序中为其简介(登录/注册)屏幕实现相同类型的动画,例如链接.

我正在使用视图寻呼机进行简介屏幕,我想在背景图像更改时实现fadein fadeout动画,按照从右向左滑动或反之亦然.我想根据屏幕的滑动在背景图像变化上实现fadein和fadeout动画.任何帮助表示赞赏.请看一下我的布局代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/background_image"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="centerCrop" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:weightSum="7" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginRight="10dp"
        android:layout_weight="1"
        android:gravity="right"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginRight="5dp"
            android:src="@drawable/icon_skip" />

        <TextView
            android:id="@+id/skip_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Skip"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@android:color/white" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:gravity="bottom"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/logo" />

        <android.support.v4.view.ViewPager
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/pager"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:context="com.xyz.View.IntroductionScreen" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/connection_bt"
            android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

animation android android-animation android-viewpager

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

Android - 如何创建从列表视图中的项目到整个活动的转换?

我想要的是当用户单击ListView中的列表项时,它会转换为整个活动(如下例所示),但是我无法找到解释这个的教程,实际上,我做的不知道这个运动是怎么称呼的.

换句话说,我想要达到的目标是:

  1. 单击时增加列表项高程(如右图所示)

  2. 展开列表项并将其转换为包含有关所单击项的详细信息的下一个片段/活动布局

在此输入图像描述

我尝试了很多过渡但没有运气.任何人都可以帮助我完成这个任务吗?

android listview android-animation android-activity android-transitions

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

在Android中将一个片段滑过另一个片段

在android中,我们可以将片段滑过另一个吗?例如,在下图中:

图片1

有两个片段.一个是红色,另一个是蓝色.如果用户将手指按在黑色箭头上并将其向右拖动,则红色片段也随之拖动,从而覆盖蓝色片段.最后,红色片段覆盖整个蓝色片段.此外,如果用户在红色片段被拖动到不到一半的蓝色片段之前抬起他的手指,则红色片段应该回到其原始位置(因此不覆盖蓝色片段).然而,如果用户不抬起他的手指(即拖动箭头)直到红色片段覆盖蓝色片段的一半以上或整个蓝色片段,则红色片段应覆盖整个蓝色片段.

此外,如果红色片段(如Buttons,EditTexts等等)有任何视图,那么它们也会相应地重新调整大小.

有没有办法做到这一点?如果是,那怎么样?

android android-animation android-layout android-fragments android-view

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

在Android中以动画方式将ImageView移动到不同位置

我有几个ImageView在A S RelativeLayout.现在,当用户点击任何ImageView时,我希望将它移动到具有微妙动画的指定位置.

例如; 我最初设置LayoutParamsImageViewas 关联的边距layoutparams1.setMargins(90,70,0,0);,然后将其添加到布局中.

当点击imageview时,我希望它的新位置是200,200动画.

那么,有可能吗?如果有,那怎么样?

请注意,我以编程方式创建了它们的RelativeLayout所有子项ImageView.

而且我是Android开发的新手,所以预计会有一个详尽的答案.

animation android android-animation

23
推荐指数
3
解决办法
7万
查看次数

旋转带动画的图像

图像的两种状态

是)我有的

我有一个箭头图像(如左图).当用户点击它时,它应该用动画旋转180度,看起来应该是正确的.

我做了什么

private void rotate(float degree, final int toggleV) {

        final RotateAnimation rotateAnim = new RotateAnimation(0.0f, degree,
                RotateAnimation.RELATIVE_TO_SELF, 0.5f,
                RotateAnimation.RELATIVE_TO_SELF, 0.5f);

        rotateAnim.setDuration(500);
        toggle.startAnimation(rotateAnim);
        rotateAnim.setAnimationListener(new Animation.AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {


                if (toggleV == 1)
                    toggle.setImageResource(R.drawable.toggle_up);
                else
                    toggle.setImageResource(R.drawable.toggle_down);
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

问题

我看到动画工作正常,但设置图像时有一点闪烁.可能是因为动画结束和设置图像时的时差.

如何删除此闪烁问题?你有更好的方法吗?

android image-rotation android-animation android-imageview

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

Android:如何使用ValueAnimator

我想使用以下内容进行翻译动画

public static void move(TextView view){

    ValueAnimator va = ValueAnimator.ofFloat(0f, 3f);
    int mDuration = 3000; //in millis
    va.setDuration(mDuration);
    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {

        }
    });
    va.setRepeatCount(5);
    va.start();
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用onAnimationUpdate方法.

有人可以帮忙吗?

android android-animation

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