album相册开源库

一、导入

        implementation  'com.yanzhenjie:album:1.0.2'

二、AndroidManifest.xml配置

       添加权限

            
                   
            
                   
            
                   

         在application标签添加

    android:name="com.yanzhenjie.album.AlbumActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
    android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />

三、使用album库

//封装该方法

public class PhotoUtil{

          public static void photoSave(Activity activity, ArrayList arrayList){
                Album.album(activity)

                        .requestCode(999)              // 请求码,返回时onActivityResult()的第一个参数。
                        .title("图库")                        // 配置标题。
                        .selectCount(9)                 // 最多选择几张图片。
                        .columnCount(2)              // 相册展示列数,默认是2列。
                        .camera(false)                 // 是否有拍照功能。
                        .checkedList(arrayList)   // 已经选择过得图片,相册会自动选中选过的图片,并计数。
                        .start();
            }

}

  在onCreate()方法中设置一个按钮点击打开相册

         //设置一个ArrayList保存图片路径
         ArrayList mImageList;

         @Override
         protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_live_report_ice);
                
                Button button = (Button) findViewById(R.id.button);
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        photoSave(this,mImageList);
                    }
               });
          }

在onActivityResult()方法中获取选择的照片

          @Override
          protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
                if (requestCode == 999) {
                    if (resultCode == RESULT_OK) {
                        mImageList = Album.parseResult(data);
                        for (String s : mImageList) {
                            
//new File()将String类型转换为文件类型,在调用Uri的fromFile()方法将文件转换为Uri
                            Uri userPickedUri = Uri.fromFile(new File(s));
                      
     //打印日志
                            Log.d("image", "imageUri:" + userPickedUri);
                       }
                   }
               }
          }

 

你可能感兴趣的:(android_框架)