android 通过uri截取指定大小的图片显示在imageview上
2013-09-25 22:11
573 查看
在gridview的adapter中设置
public class GridViewAdapter extends BaseAdapter { protected List<Map<String, Object>> mlist; protected Context mContext; protected LayoutInflater mInflater = null; public GridViewAdapter(Context context, List<Map<String, Object>> list) { mlist = list; mContext = context; mInflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return mlist.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return mlist.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 viewHolder = null; if (null == convertView) { viewHolder = new ViewHolder(); convertView = mInflater.inflate(R.layout.item_gridview, null); viewHolder.imageButton = (ImageButton) convertView .findViewById(R.id.imageButton1); viewHolder.imageView = (ImageView) convertView .findViewById(R.id.imageView1); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } if (!mlist.get(position).get("drawable").equals("") && mlist.size() < 6) { viewHolder.imageView .setImageResource(R.drawable.app_panel_add_icon_normal); viewHolder.imageButton.setVisibility(View.GONE); } else { //自动裁剪出制定大小的图片显示在imageview上 ContentResolver contentProvider = mContext.getContentResolver(); Uri uri01 = (Uri)mlist.get(position).get("uri"); Bitmap mBitmap = null; try { Bitmap bmp = BitmapFactory.decodeStream(contentProvider.openInputStream(uri01)); mBitmap = Bitmap.createScaledBitmap(bmp, 100, 100, true); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } viewHolder.imageView.setImageBitmap(mBitmap); // viewHolder.imageView.setImageURI((Uri) (mlist.get(position) // .get("uri"))); viewHolder.imageButton.setVisibility(View.VISIBLE); } final int i = position; viewHolder.imageButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (mlist.size() == 5 && mlist.get(4).get("drawable").equals("")) { Map<String, Object> map = new HashMap<String, Object>(); map.put("drawable", R.drawable.ic_launcher); mlist.add(map); } mlist.remove(i); GridViewAdapter.this.notifyDataSetChanged(); } }); return convertView; } static class ViewHolder { ImageView imageView; ImageButton imageButton; } }
相关文章推荐
- Android ImageView设置图片的可见性,设置颜色的不同方法,设置图片指定大小
- Android之---ImagView显示图片(将一张图片按原图大小合理显示在imageView上,避免OOM)
- UIImageView:可以通过UIImage加载图片赋给UIImageView,加载后你可以指定显示的位置和大小。 1、初始化
- 在android中用NetworkImageView读取网络图片并通过ListView显示出来
- Android自定义控件:imageview重写onMeasure方法实现图片按指定比例显示,拉伸永不变形,解决屏幕适配问题
- Android 通过url获取网络图片并显示在ImageView中
- Android手机开发:图片的放大和缩小显示ImageView
- Android中 在显示ImageView时图片上面和下面都出现一段空白区间的解决办法
- Android 重定义ImageView可显示出圆形或圆角形图片效果
- Android中利用OnTouchListener在ImageView中框选显示图片
- 根据url下载一张大小为1M左右的图片,然后用个ImageView显示出来。不爆内存的哦!!!
- Android网络图片显示在ImageView 上面
- [Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画
- Android 利用ImageView显示图片
- 获取服务器Url图片资源,并显示在ImageView中 Android
- Android 下载图片并显示在ImageView中
- Android可以动态控制图片显示区域的自定义ImageView
- Android开发:同一ImageView显示不同图片
- Android在打开一个新的Activity浏览大图时使用ImageView/PhotoView的时候图片显示在屏幕上部的问题
- Android实现点击ImageView拍照,并将相机拍摄的图片显示在ImageView上