Android中给layout下的布局文件添加动画效果

先上实现效果:

给ListView添加文本内容,文本内容添加进ListView的过程中增加动画效果

步骤一:

先定义好一个动画文件,把要实现的动画效果写好。

1、在res文件夹下创建anim文件夹

2、在anim文件夹中添加一个fd.xml(文件名自定义)文件

fd.xml内容:

<!--组合动画
duration:组合动画发生的的间隔时间
-->

<set android:duration="1000"
    xmlns:android="http://schemas.android.com/apk/res/android">



    <!--x,y轴的变化-->
    <translate
        android:fromXDelta="100%"
        android:fromYDelta="100%"
        android:toXDelta="0"
        android:toYDelta="0"
        />

    <!--透明度变化-->
    <alpha
        android:fromAlpha="0"
        android:toAlpha="1"
        />



</set>

步骤二:

在主布局文件activity_main.xml中添加ListView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >




    <ListView
        android:id="@+id/mylist"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ></ListView>





</LinearLayout>

步骤三:Java代码的实现

package com.contentprovide.liuliu.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


    LayoutAnimationController layoutAnimationController;//动画控制器

    ListView mylist;

    //    定义适配器用于映射内容到ListView中
    ArrayAdapter<String> arrayAdapter;
    //    定义集合用于添加内容,并把内容添加到适配器中
    ArrayList<String> arrayList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mylist = (ListView) findViewById(R.id.mylist);


//
//        动画文件转成动画变量
        Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fd);

//        实例化动画控制器变量,将动画变量传进控制器
        layoutAnimationController = new LayoutAnimationController(animation);

//        通过控制器设置相关属性
        layoutAnimationController.setDelay(1.0f);//动画间隔时间
        layoutAnimationController.setOrder(LayoutAnimationController.ORDER_NORMAL);//排序方式

//        把动画和listview互相绑定
        mylist.setLayoutAnimation(layoutAnimationController);

//        实例化集合,并且传递数据进集合中
        arrayList = new ArrayList<>();
        for (int a = 0; a < 10; a++) {
            arrayList.add("11");
        }

//        把集合中的内容添加到适配器当中
        arrayAdapter = new ArrayAdapter<>(MainActivity.this, R.layout.support_simple_spinner_dropdown_item, arrayList);

//        把适配器添加到listview当中
        mylist.setAdapter(arrayAdapter);


    }


}
原文地址:https://www.cnblogs.com/lyd447113735/p/8301864.html