展会信息港展会大全

android 选中GridView 中 的item 时进行图片放大的操作
来源:互联网   发布日期:2015-10-03 10:48:26   浏览:1590次  

导读:1、在GridView 中我们会遇到当选中某个Item 时想让它处于高亮或者是放大的操作,我们只需要在setOnItemClickListener() 方法中把相应的position 给传过去...

1、在GridView 中我们会遇到当选中某个Item 时想让它处于高亮或者是放大的操作,我们只需要在setOnItemClickListener() 方法中把相应的position 给传过去。

package com.example.sgridview;

import java.util.ArrayList;

import java.util.List;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.ImageView.ScaleType;

public class MainActivity extends Activity {

private GridView gridView;

private MyAdapter adapter = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lists.add(R.drawable.ic_launcher);

lists.add(R.drawable.ic_launcher);

lists.add(R.drawable.ic_launcher);

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

adapter = new MyAdapter();

this.gridView.setAdapter(adapter);

this.gridView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> arg0, View arg1, int id, long arg3) {

// TODO Auto-generated method stub

MyAdapter ad = (MyAdapter) arg0.getAdapter();

ad.setNotifyDataChange(id);

}

});

}

private List lists = new ArrayList();

private class MyAdapter extends BaseAdapter {

private int selectPic = -1;

@Override

public int getCount() {

// TODO Auto-generated method stub

return lists.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return lists.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

public void setNotifyDataChange(int id) {

selectPic = id;

super.notifyDataSetChanged();

}

@SuppressLint("NewApi")

@Override

public View getView(int position, View view, ViewGroup arg2) {

ImageView img = new ImageView(MainActivity.this);

img.setBackgroundResource(lists.get(position));

if (selectPic == position) {

Animation testAnim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim);

img.startAnimation(testAnim);

} else {

// the rest

img.setScaleType(ScaleType.CENTER_INSIDE);

}

return img;

}

}

}

2、anim.xml 文件

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港