Android图片上传实现预览效果

2019-12-10 19:13:05于海丽
易采站长站为您分析Android图片上传实现预览效果的相关资料,需要的朋友可以参考下  

首先具体分析一下,实现的功能,其中需求分析是必不可少的,需求、逻辑清除之后,再上手写代码,思路会很清晰。

1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择)

2.拍照上传很简单了网上也有很多例子,调用照相机,返回uri,获取图片

3.从相册中选择图片

  •  3.1 获取手机中的所有图片
  •  3.2 将图片存到自定义图片数组中显示
  •  3.3 自定义ViewPager浏览图片

    主要的逻辑大体是这样,下面具体看一下实现:

    一、首先看一下界面:

    <com.view.NoScrollGridView 
              android:id="@+id/noScrollgridview" 
              android:layout_marginLeft="@dimen/smaller_space" 
              android:layout_marginRight="@dimen/smaller_space" 
              android:layout_width="match_parent" 
              android:layout_height="wrap_content" 
              android:horizontalSpacing="3dp" 
              android:listSelector="@color/transparent" 
              android:numColumns="3" 
              android:scrollbars="none" 
              android:layout_gravity="center" 
              android:layout_marginTop="@dimen/smaller_space" 
              android:verticalSpacing="5dp" /> 
    

    是一个 NoScrollGridView,项目需要,所以用了不滚动的GridView,大家用GridView也是一样的。

    noScrollgridview = (GridView) findViewById(R.id.noScrollgridview); 
        noScrollgridview.setSelector(new ColorDrawable(Color.TRANSPARENT)); 
        /*新建传值给adapter*/ 
        if (file == null) { 
          picAdapter = new PictureAdapter(this, 0, null); 
        } else { 
          //添加失败的图片到数组中 
          for (int i=0;i<file.getMulFailFilePaths().length;i++){ 
            ImageItem imageItem = new ImageItem(); 
            imageItem.setImagePath(file.getMulFailFilePaths()[i].trim()); 
            Bimp.tempSelectBitmap.add(imageItem); 
          } 
          /*上传失败传值给adapter*/ 
          picAdapter = new PictureAdapter(this, 2, file); 
        }