与天地兮比寿,与日月兮齐光。这篇文章主要讲述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>
【Android中给layout下的布局文件添加动画效果】
步骤三: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); }}
推荐阅读
- 使用mybatis generator 生成annotation形式的mapper
- Webform 内置对象 Session对象Application全局对象,ViewState
- There is no Action mapped for namespace [/] and action name [m_hi] associated with context path [](代
- 可集成到APP的车架号识别软件
- 在外围获取APP的重要信息
- 2018APP行业火爆依旧 娱乐化便捷化将是拐点
- 行业洞察(旅游APP软件开发未来发展走向)
- [MyBatis]mapperLocations属性通配符的使用
- Android ProgressBar手动控制开始和停止