view.bringToFront(); 引起gridview 中的view重新排列,蛋痛啊!
package com.example.testlayout;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridLayout.LayoutParams;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
public class TestGridViewDemo extends Activity {
private int[] mImages = new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,
R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h,R.drawable.i,
R.drawable.j,R.drawable.k,R.drawable.l,R.drawable.m,R.drawable.n,
R.drawable.o,R.drawable.p};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_grid_view_demo);
GridView gv = (GridView)findViewById(R.id.gv);
ArrayList<HashMap<String,Object>> data = new ArrayList<HashMap<String,Object>>();
HashMap<String,Object> hm=null;
for(int i=0;i<mImages.length;i++){
hm = new HashMap<String,Object>();
hm.put("ItemImage", mImages[i]);
hm.put("ItemName", "美女"+i);
data.add(hm);
}
SimpleAdapter mSimpleAdapter = new SimpleAdapter(this, data, R.layout.pic_item, new String[]{"ItemImage","ItemName"},
new int[]{R.id.iv,R.id.tv});
// gv.setAdapter(new ImageAdapter(this));
gv.setAdapter(mSimpleAdapter);
gv.setPadding(15, 15, 15, 15);
// gv.setAnimation(Animation.)
}
private class ImageAdapter extends BaseAdapter{
private Context mContext;
public ImageAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mImages.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return mImages[position];
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView i = null;
if(convertView==null){
i = new ImageView(mContext);
i.setLayoutParams(new GridView.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
i.setPadding(8, 8, 8, 8);
i.setScaleType(ImageView.ScaleType.CENTER_CROP);
}else {
i = (ImageView)convertView;
}
i.setImageResource(mImages[position]);
return i;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.test_grid_view_demo, menu);
return true;
}
}