您的位置:首页 > 其它

显示gridview加载条目动画

2017-08-08 21:12 288 查看
//adapter界面

import java.util.ArrayList;

import android.app.Activity;

import android.os.Bundle;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.view.animation.LayoutAnimationController;

import android.widget.GridView;

public class GridViewAnimationActivity extends Activity {

    private GridView gridView;

    private ArrayList<Integer> list;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_grideview);

        gridView = (GridView) findViewById(R.id.gv_show);

        initData();

        

        

        // listview、gridview 的item加载动画的步骤

        // 1. 定义一个动画效果

        Animation animation = AnimationUtils.loadAnimation(this,

                R.anim.anim_alpha);

        // 2.定义一个布局动画控制器,传入自定义的动画

        LayoutAnimationController controller = new LayoutAnimationController(

                animation);

        // 2.1

        // 设置动画加载的顺序,可以有3种顺序,分别是ORDER_NORMAL(正常顺序),ORDER_REVERSE(逆序),ORDER_RANDOM(随机)

        controller.setOrder(LayoutAnimationController.ORDER_NORMAL);

        // 2.2每一项item加载的间隔时间,单位是秒

        // controller.setDelay(2);

        // 3.给Listview或者Gridview设置控制器

        // 设置控制器一定要放在setadapter之前

        gridView.setLayoutAnimation(controller);

        gridView.setAdapter(new GridViewAdapter(this, list));

    }
//添加数据

    private void initData() {

        list = new ArrayList<Integer>();

        list.add(R.drawable.aa);

        list.add(R.drawable.ab);

        list.add(R.drawable.ac);

        list.add(R.drawable.ad);

        list.add(R.drawable.ae);

        list.add(R.drawable.af);

        list.add(R.drawable.ag);

        list.add(R.drawable.al);

        list.add(R.drawable.am);

        list.add(R.drawable.an);

        list.add(R.drawable.ao);

        list.add(R.drawable.ap);

        list.add(R.drawable.aq);

        list.add(R.drawable.av);

        list.add(R.drawable.aw);

        list.add(R.drawable.az);

        list.add(R.drawable.ba);

        list.add(R.drawable.bb);

        list.add(R.drawable.bc);

        list.add(R.drawable.bd);

        list.add(R.drawable.be);

        list.add(R.drawable.bf);

        list.add(R.drawable.bg);

        list.add(R.drawable.bh);

        list.add(R.drawable.bi);

        list.add(R.drawable.bj);

        list.add(R.drawable.bk);

        list.add(R.drawable.bz);

    }

}

//适配器

package com.example.animationapp;

import java.util.List;

import android.R.integer;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

public class GridViewAdapter extends BaseAdapter{

    

    private Context context;

    private List<Integer> list;

    public GridViewAdapter(Context context,List<Integer> list){

        this.context = context;

        this.list = list;

    }

    @Override

    public int getCount() {

        // TODO Auto-generated method stub

        return list.size();

    }

    @Override

    public Object getItem(int position) {

        // TODO Auto-generated method stub

        return list.get(position);

    }

    @Override

    public long getItemId(int position) {

        // TODO Auto-generated method stub

        return position;

    }

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        // TODO Auto-generated method stub

        viewholder holder = null;

        if (convertView==null) {

            convertView = View.inflate(context, R.layout.item_gridview, null);

             holder = new viewholder();

             holder.imageView = (ImageView) convertView.findViewById(R.id.img_item);

             convertView.setTag(holder);

        }else {

            holder = (viewholder) convertView.getTag();

        }

        holder.imageView.setImageResource(list.get(position));

        return convertView;

    }

    class viewholder{

        ImageView imageView;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: