zoukankan      html  css  js  c++  java
  • 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);
    
    
        }
    
    
    }
    
  • 相关阅读:
    关于苹果IPhone/Ipad(IOS)开发者证书申请及安装、真机调试、发布的参考文章
    vs 关闭警告
    真机测试及布署Code Sign error问题总结
    在 Win32 Application 和 Win32 Console Application 中使用 MFC
    获取应用程序路径的区别
    js日期控件
    SQL SERVER 企业管理器 MMC 无法创建管理单元
    进程查看两利器
    用PowerDesigner逆向数据库工程时”Unable to list the table"错误的解决方法
    SQL 附加无日志数据库
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/8301864.html
Copyright © 2011-2022 走看看