[Android]仿IOS选择拍照相册底部弹出

[Android]仿IOS选择拍照相册底部弹出框

@Author GQ 20160718日  

由于主要用来弹出选择拍照和选择相册功能,就限定只有两个条目。
没有像网上其他demo一样做扩展。
可以配合网上的ImagePicker等直接使用。

效果图

[Android]仿IOS选择拍照相册底部弹出_第1张图片

  • Android仿IOS选择拍照相册底部弹出框
    • 效果图
    • AndroidStudio使用
    • 使用

1. AndroidStudio使用

dependencies {

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

}

2. 使用

  • JAVA 代码
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);
}

你可能感兴趣的:(安卓)