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

时间: 2024-12-18 07:48:48

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

【转】Android 开发之旅:深入分析布局文件&amp;又是“Hello World!”

引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行.以后基本我们都会以实践的方式来深入Android开发.我们这次深入分析Android应用程序的布局文件,主要内容如下: 1.用户界面及视图层次 2.Android中布局定义方法 3.编写XML布局文件及加载X

Android 开发之旅:深入分析布局文件&amp;又是“Hello World!”

http://www.cnblogs.com/skynet/archive/2010/05/20/1740277.html 引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行.以后基本我们都会以实践的方式来深入Android开发.我们这次深入分析Android

Android中如何提取和生成mp4文件

随着Android 4.4及以上版本的逐渐普及,Android 4.1引入的MediaExtractor类,以及Android 4.3引入的MediaMuxer类,终于可以开始正式地"发光发热"了. MediaMuxer类主要用于将音频和视频数据进行混合生成多媒体文件(如:mp4文件),而MediaExtractor则刚好相反,主要用于多媒体文件的音视频数据的分离. 本文将介绍如何利用Android SDK提供的MediaExtractor和MediaMuxer类来完成mp4文件的提取

android中libs目录下armeabi和armeabi-v7a的区别

在我们android APK的根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个.那armeabi-v7a 与 armeabi有什么区别,都是什么意思呢? armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu(mips的就悲催的被忽视了),不同的cpu的特性不一样,armeabi就是针对普通的或旧的arm cpu,armeabi-

Windows Phone获得IsolatedStorage中指定目录下的所有文件

在Windows Phone 中对隔离存储空间中的文件操作需要通过System.Io.IsolatedStorage下的类进行操作 获得指定文件夹下的所有文件: 参数:是指定文件夹的路径加上通配符,格式:\folder1\* List<string> GetFileNames(string _strFolder) { List<string> returnlst = new List<string>(); using (IsolatedStorageFile stora

Linux中在当前目录下查找某个文件

ZT:https://zhidao.baidu.com/question/1512088073851955780.html Linux中在当前目录下查找某个文件可以使用find命令. 1.比如在/usr/lib下查找klibc的文件,进入/usr/lib目录后,可以执行 find . -name "klibc" 说明:find命令用于查找文件,后面的"."代表当前目录,-name是find命令的参数,后面接要搜索的文件名. 2.如果不明确文件名称,可以使用通配符 f

mac下用ruby安装sass &amp;&amp; webstorm下给scss文件添加watch

1.安装rvm 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包 sudo curl -L https://get.rvm.io | bash -s stable sudo source ~/.rvm/scripts/rvm rvm -v 2.用rvm安装ruby sudo rvm install ruby-2.0.0-p648 gem -v gem source -r https://rubyge

因为 &#39;PRIMARY&#39; 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间

导致你的问题的,应该有2种可能性: 1.存放你的primary文件组的磁盘,已经满了: use master--你的数据库名称 go --看看你的primary组里的文件 select ds.name, df.physical_name, --主文件组的物理文件的路径 --打开我的电脑,查看文件所在盘,是否磁盘已满 df.is_percent_growth, --是否自动增长 df.growth --增长多少 from sys.data_spaces ds inner join sys.data

无法为数据库 XXX 中的对象XXX 分配空间,因为 &#39;PRIMARY&#39; 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间. 原因是装了mssql express 2005 版本,该版本最大的限制是4G 百度说明: 1.数据库的大小限制:SQL Server 2005 Express 和SQL Server 2008 Express 数据库的大小限制最大为 4GB,最新版本的SQL Server 2008 R2 E