先上实现效果:
给ListView添加文本内容,文本内容添加进ListView的过程中增加动画效果
步骤一:
先定义好一个动画文件,把要实现的动画效果写好。
1、在res文件夹下创建anim文件夹
2、在anim文件夹中添加一个fd.xml(文件名自定义)文件
fd.xml内容:
xmlns:android="http://schemas.android.com/apk/res/android">
android:fromXDelta="100%"
android:fromYDelta="100%"
android:toXDelta="0"
android:toYDelta="0"
/>
android:fromAlpha="0"
android:toAlpha="1"
/>
步骤二:
在主布局文件activity_main.xml中添加ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
android:id="@+id/mylist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
步骤三: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 arrayAdapter;
// 定义集合用于添加内容,并把内容添加到适配器中
ArrayList 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);
}
}