先上实现效果:
给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
时间: 2024-12-18 07:48:48