显示gridview加载条目动画

来源:互联网 发布:网络语call是什么意思 编辑:程序博客网 时间:2024/05/21 15:45


//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;
    }
}



原创粉丝点击