public class SurroundGvAdapter extends BaseAdapter {
private ArrayList<SurroundGridView> mList;
private LayoutInflater mInflater;
public SurroundGvAdapter(Context context, ArrayList<SurroundGridView> pList) {
this.mInflater = LayoutInflater.from(context);
this.mList = pList;
}
@Override
public int getCount() {
if (mList == null) {
return 0;
}
return mList.size();
}
@Override
public Object getItem(int position) {
if (mList == null) {
return null;
}
return mList.get(position);
}
@Override
public long getItemId(int position) {
if (mList == null) {
return 0;
}
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.surround_gridview_item,
null);
holder.img = (ImageView) convertView
.findViewById(R.id.surround_gridview_img);
holder.tv = (TextView) convertView
.findViewById(R.id.surround_gridview_name);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
SurroundGridView gridView = mList.get(position);
holder.img.setImageResource(gridView.getImgId());
holder.tv.setText(gridView.getName());
// holder.img.setOnTouchListener(onTouchListener);
return convertView;
}
private static class ViewHolder {
ImageView img;
TextView tv;
}
/**
* 触摸事件(让图标变暗)
*/
public OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
changeLight((ImageView) view, 0);
break;
case MotionEvent.ACTION_DOWN:
changeLight((ImageView) view, -20);
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_CANCEL:
changeLight((ImageView) view, 0);
break;
default:
break;
}
return true;
}
};
protected void changeLight(ImageView imageview, int brightness) {
ColorMatrix matrix = new ColorMatrix();
matrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0,
brightness, 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 });
imageview.setColorFilter(new ColorMatrixColorFilter(matrix));
}
}
Android的GridView控件点击图片变暗效果
最新推荐文章于 2021-05-30 11:01:55 发布