首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在图库容器中添加左、右、上、下和裁剪选项

如何在图库容器中添加左、右、上、下和裁剪选项
EN

Stack Overflow用户
提问于 2018-07-23 15:28:32
回答 1查看 299关注 0票数 0

我使用内部存储保存图像和检索在网格视图中现在我的任务是打开一个图像在画廊旋转和裁剪选项,我的样本工作在安卓棒棒糖版本在画廊中打开的图像,其中包含旋转和裁剪选项,但在Android奥利奥版本的图像在画廊中打开,但没有选项是showed.My示例代码下面给出在画廊视图中打开。

代码语言:javascript
复制
Intent intent = new Intent(Intent.ACTION_VIEW)//
                    .setDataAndType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ?
                                    android.support.v4.content.FileProvider.getUriForFile(MyFileActivity.this,getPackageName() + ".provider", file) : Uri.fromFile(file),
                            "image/*").addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            startActivityForResult(intent,PICK_IMAGE_REQUEST);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 18:39:28

使用此Library,您可以裁剪,旋转左,右,顶部,底部画廊图像

在build.gradle(Module.app)文件中添加此库

代码语言:javascript
复制
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'

将此行添加到Proguard配置文件中

代码语言:javascript
复制
-keep class android.support.v7.widget.** { *; }

在AndroidManifest.xml中添加CropImageActivity

代码语言:javascript
复制
<activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
android:theme="@style/Base.Theme.AppCompat"/> <!-- optional (needed if 
 default theme has no action bar) -->

并在onClick图库或相机按钮中添加以下方法

代码语言:javascript
复制
   CropImage.activity()                                      
  .setGuidelines(CropImageView.Guidelines.ON)
     .setAspectRatio(1,1)
    .start(YourActivityName.this);

    // for fragment (DO NOT use `getActivity()`)
     CropImage.activity()
     .start(getContext(), this);

现在,在您的活动中的onActivityResult方法中获得裁剪结果

代码语言:javascript
复制
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) 
    {
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
     CropImage.ActivityResult result = CropImage.getActivityResult(data);
     if (resultCode == RESULT_OK) {
      Uri resultUri = result.getUri();
    } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) 
        {
       Exception error = result.getError();
       }
         }
      }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51473589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档