Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置一个视图接着一个视图的动画,而不是同时设置所有视图的动画?_Java_Android_Animation_Android Linearlayout - Fatal编程技术网

Java 如何设置一个视图接着一个视图的动画,而不是同时设置所有视图的动画?

Java 如何设置一个视图接着一个视图的动画,而不是同时设置所有视图的动画?,java,android,animation,android-linearlayout,Java,Android,Animation,Android Linearlayout,我正在将文本视图动态添加到线性布局。我想为每个视图设置动画,以便它们从左侧一个接一个地滑入。这就是我目前拥有的: for ( int i=0; i < SOME_SIZE; i ++ ) { linearLayout.addView(addLessonsView(i)) } public View addLessonsView(int position) { LayoutInflater inflater = (LayoutInflater) mContext.getS

我正在将
文本视图
动态添加到
线性布局
。我想为每个
视图设置动画,以便它们从左侧一个接一个地滑入。这就是我目前拥有的:

for ( int i=0; i < SOME_SIZE; i ++ ) {
    linearLayout.addView(addLessonsView(i))
}

public View addLessonsView(int position) {

    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.row_memory_book_lessons, null);

    TextView tvLesson = (TextView) v.findViewById(R.id.tvLesson);

    tvLesson.setText(mLessonList.get(position).getLessonNumber() + " - " + mLessonList.get(position).getLessonName());

    Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.slide_left_to_right);
    tvLesson.startAnimation(animation);

    v.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });
    return v;
}
for(int i=0;i

问题是所有的
动画都是同时发生的,而不是一个接一个地发生。如何将
视图一个接一个地滑入?

您同时启动所有
动画
s,这就是为什么所有
视图都同时滑入的原因。您需要做的是为每个
动画
添加一个起始偏移量,该偏移量对应于它在
列表中的位置

例如,要延迟每个
动画
以播放前一个动画75毫秒后的动画,可以执行以下操作:

Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.slide_left_to_right);

final long startOffset = position * 75;
animation.setStartOffset(startOffset);

tvLesson.startAnimation(animation);

此外,我建议您切换到Android 3.0(蜂巢)中引入的较新的Animator API。至少可以说,您使用的旧视图动画已经过时


单击以开始使用较新的API。

我实现了Xaver Kapeller的解决方案,一个接一个地为52个ImageView(一副卡片)制作动画

尽管如此,它在多达24个ImageView中运行良好,但当我想要一个接一个地为25个ImageView设置动画时,我得到了“强制关闭”

为了克服这个问题,我实现了一个
处理程序
onAnimationEnd
,以在上一个图像视图之后设置下一个图像视图的动画

这是我的活动_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.navigator.deck.MainActivity" >

    <ImageView
        android:id="@+id/s1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/s10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/sj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/sq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/sk"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/h10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/hj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/hq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/hk"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/d10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/dj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/dq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/dk"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/c10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/cj"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/cq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/ck"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

和MainActivity.java:

package com.navigator.deck;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        final List<ImageView> cards = new ArrayList<ImageView>();

        cards.add((ImageView) findViewById(R.id.s1));
        cards.add((ImageView) findViewById(R.id.s2));
        cards.add((ImageView) findViewById(R.id.s3));
        cards.add((ImageView) findViewById(R.id.s4));
        cards.add((ImageView) findViewById(R.id.s5));
        cards.add((ImageView) findViewById(R.id.s6));
        cards.add((ImageView) findViewById(R.id.s7));
        cards.add((ImageView) findViewById(R.id.s8));
        cards.add((ImageView) findViewById(R.id.s9));
        cards.add((ImageView) findViewById(R.id.s10));
        cards.add((ImageView) findViewById(R.id.sj));
        cards.add((ImageView) findViewById(R.id.sq));
        cards.add((ImageView) findViewById(R.id.sk));
        cards.add((ImageView) findViewById(R.id.h1));
        cards.add((ImageView) findViewById(R.id.h2));
        cards.add((ImageView) findViewById(R.id.h3));
        cards.add((ImageView) findViewById(R.id.h4));
        cards.add((ImageView) findViewById(R.id.h5));
        cards.add((ImageView) findViewById(R.id.h6));
        cards.add((ImageView) findViewById(R.id.h7));
        cards.add((ImageView) findViewById(R.id.h8));
        cards.add((ImageView) findViewById(R.id.h9));
        cards.add((ImageView) findViewById(R.id.h10));
        cards.add((ImageView) findViewById(R.id.hj));
        cards.add((ImageView) findViewById(R.id.hq));
        cards.add((ImageView) findViewById(R.id.hk));
        cards.add((ImageView) findViewById(R.id.d1));
        cards.add((ImageView) findViewById(R.id.d2));
        cards.add((ImageView) findViewById(R.id.d3));
        cards.add((ImageView) findViewById(R.id.d4));
        cards.add((ImageView) findViewById(R.id.d5));
        cards.add((ImageView) findViewById(R.id.d6));
        cards.add((ImageView) findViewById(R.id.d7));
        cards.add((ImageView) findViewById(R.id.d8));
        cards.add((ImageView) findViewById(R.id.d9));
        cards.add((ImageView) findViewById(R.id.d10));
        cards.add((ImageView) findViewById(R.id.dj));
        cards.add((ImageView) findViewById(R.id.dq));
        cards.add((ImageView) findViewById(R.id.dk));
        cards.add((ImageView) findViewById(R.id.c1));
        cards.add((ImageView) findViewById(R.id.c2));
        cards.add((ImageView) findViewById(R.id.c3));
        cards.add((ImageView) findViewById(R.id.c4));
        cards.add((ImageView) findViewById(R.id.c5));
        cards.add((ImageView) findViewById(R.id.c6));
        cards.add((ImageView) findViewById(R.id.c7));
        cards.add((ImageView) findViewById(R.id.c8));
        cards.add((ImageView) findViewById(R.id.c9));
        cards.add((ImageView) findViewById(R.id.c10));
        cards.add((ImageView) findViewById(R.id.cj));
        cards.add((ImageView) findViewById(R.id.cq));
        cards.add((ImageView) findViewById(R.id.ck));

        final TranslateAnimation  animation = new TranslateAnimation(0,100,0,100);
        animation.setDuration(100);     
        final Handler mHandler = new Handler(new Handler.Callback()
        {
            @Override
            public boolean handleMessage(Message message)
            {
                cards.get(0).startAnimation(animation);
                return false;
            }
        });
        animation.setAnimationListener(new AnimationListener() 
        {           
            @Override
            public void onAnimationStart(Animation animation) 
            {               
            }
            @Override
            public void onAnimationRepeat(Animation animation) 
            {   
            }
            @Override
            public void onAnimationEnd(Animation animation) 
            {
                cards.get(0).setX(cards.get(0).getX()+ 100);
                cards.get(0).setY(cards.get(0).getY()+100);
                cards.remove(0);
                if (cards.size()>0)
                {
                    mHandler.sendEmptyMessage(1);
                }
            }
        });
        mHandler.sendEmptyMessage(1);
    }
}
package com.navigator.deck;
导入java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.os.Bundle;
导入android.os.Handler;
导入android.os.Message;
导入android.view.animation.animation;
导入android.view.animation.animation.AnimationListener;
导入android.view.animation.TranslateAnimation;
导入android.widget.ImageView;
公共类MainActivity扩展了活动
{
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最终列表卡=新的ArrayList();
添加((ImageView)findViewById(R.id.s1));
添加((ImageView)findViewById(R.id.s2));
添加((ImageView)findViewById(R.id.s3));
添加((图像视图)findViewById(R.id.s4));
添加((图像视图)findViewById(R.id.s5));
添加((图像视图)findViewById(R.id.s6));
添加((图像视图)findViewById(R.id.s7));
添加((图像视图)findViewById(R.id.s8));
添加((ImageView)findViewById(R.id.s9));
添加((ImageView)findViewById(R.id.s10));
添加((ImageView)findViewById(R.id.sj));
添加((ImageView)findViewById(R.id.sq));
添加((ImageView)findViewById(R.id.sk));
添加((ImageView)findViewById(R.id.h1));
添加((ImageView)findViewById(R.id.h2));
添加((ImageView)findViewById(R.id.h3));
添加((ImageView)findViewById(R.id.h4));
添加((ImageView)findViewById(R.id.h5));
添加((ImageView)findViewById(R.id.h6));
添加((ImageView)findViewById(R.id.h7));
添加((ImageView)findViewById(R.id.h8));
添加((ImageView)findViewById(R.id.h9));
添加((ImageView)findViewById(R.id.h10));
添加((ImageView)findViewById(R.id.hj));
添加((ImageView)findViewById(R.id.hq));
添加((ImageView)findViewById(R.id.hk));
添加((ImageView)findViewById(R.id.d1));
添加((ImageView)findViewById(R.id.d2));
添加((ImageView)findViewById(R.id.d3));
添加((ImageView)findViewById(R.id.d4));
添加((ImageView)findViewById(R.id.d5));
添加((ImageView)findViewById(R.id.d6));
添加((ImageView)findViewById(R.id.d7));
添加((ImageView)findViewById(R.id.d8));
添加((ImageView)findViewById(R.id.d9));
添加((ImageView)findViewById(R.id.d10));
添加((ImageView)findViewById(R.id.dj));
添加((ImageView)findViewById(R.id.dq));
添加((ImageView)findViewById(R.id.dk));
添加((ImageView)findViewById(R.id.c1));
添加((ImageView)findViewById(R.id.c2));
添加((ImageView)findViewById(R.id.c3));
添加((ImageView)findViewById(R.id.c4));
添加((ImageView)findViewById(R.id.c5));
添加((ImageView)findViewById(R.id.c6));
添加((ImageView)findViewById(R.id.c7));
添加((ImageView)findViewById(R.id.c8));
添加((ImageView)findViewById(R.id.c9));
添加((ImageView)findViewById(R.id.c10));
添加((ImageView)findViewById(R.id.cj));
添加((ImageView)findViewById(R.id.cq));