Android 实现IOS选择拍照相册底部弹出的实例

Android 实现IOS选择拍照相册底部弹出的实例

效果图

Android 实现IOS选择拍照相册底部弹出的实例_第1张图片

1. AndroidStudio使用

dependencies {

  compile 'com.guoqi.widget:actionsheet:1.0'

}

2. 使用

//1.实现接口

 implements ActionSheet.OnActionSheetSelected


//2.在某个点击事件中添加:
 ActionSheet.showSheet(this, this, null);


//3.然后重写点击方法:
@Override
  public void onClick(int whichButton) {
    switch (whichButton) {
      case ActionSheet.CHOOSE_PICTURE:
        //相册
        choosePic();
        break;
      case ActionSheet.TAKE_PICTURE:
        //拍照
        takePic();
        break;
      case ActionSheet.CANCEL:
        //取消
        break;
    }
  } 


//加入自己的逻辑
public void takePic(){
 String state = Environment.getExternalStorageState();
        if (state.equals(Environment.MEDIA_MOUNTED)) {
          Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          File outDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
          if (!outDir.exists()) {
            outDir.mkdirs();
          }
          File outFile = new File(outDir, System.currentTimeMillis() + ".jpg");
          picPath = outFile.getAbsolutePath();
          intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(outFile));
          intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
          startActivityForResult(intent, ActionSheet.TAKE_PICTURE);
        } else {
          Toast.makeText(this, "请确认已经插入SD卡", Toast.LENGTH_SHORT).show();
        }
}



//加入自己的逻辑
public void choosePic(){
  Intent openAlbumIntent = new Intent(Intent.ACTION_PICK);
        openAlbumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
        startActivityForResult(openAlbumIntent, ActionSheet.CHOOSE_PICTURE);
}



感谢阅读,希望能帮助到大家,谢谢大家对本站的支持,如有疑问请留言或者到本站社区交流讨论,大家共同进步!

你可能感兴趣的:(Android 实现IOS选择拍照相册底部弹出的实例)