android 图片编辑旋转,放大缩小,剪裁,网格等


android 图片编辑软件,实现图片的旋转,放大缩小,剪裁,网格等,用内存缓存实现,操作起来很强大稳定,具有很好的参考价值。代码中有少量的c++文件,需要编译成so文件。
资源截图
代码片段和文件信息
package com.yalantis.ucrop.sample;

import android.content.DialogInterface;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;

/**
 * Created by Oleksii Shliama (https://github.com/shliama).
 */
public class baseActivity extends AppCompatActivity {

    protected static final int REQUEST_STORAGE_READ_ACCESS_PERMISSION = 101;
    protected static final int REQUEST_STORAGE_WRITE_ACCESS_PERMISSION = 102;

    private AlertDialog mAlertDialog;

    /**
     * Hide alert dialog if any.
     */
    @Override
    protected void onstop() {
        super.onstop();
        if (mAlertDialog != null && mAlertDialog.isShowing()) {
            mAlertDialog.dismiss();
        }
    }


    /**
     * Requests given permission.
     * If the permission has been denied previously a Dialog will prompt the user to grant the
     * permission otherwise it is requested directly.
     */
    protected void requestPermission(final String permission String rationale final int requestCode) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(this permission)) {
            showAlertDialog(getString(R.string.permission_title_rationale) rationale
                    new DialogInterface.onclickListener() {
                        @Override
                        public void onclick(DialogInterface dialog int which) {
                            ActivityCompat.requestPermissions(baseActivity.this
                                    new String[]{permission} requestCode);
                        }
                    } getString(R.string.label_ok) null getString(R.string.label_cancel));
        } else {
            ActivityCompat.requestPermissions(this new String[]{permission} requestCode);
        }
    }

    /**
     * This method shows dialog with given title & message.
     * Also there is an option to pass onclickListener for positive & negative button.
     *
     * @param title                         - dialog title
     * @param message                       - dialog message
     * @param onPositiveButtonclickListener - listener for positive button
     * @param positiveText                  - positive button text
     * @param onNegativeButtonclickListener - listener for negative button
     * @param negativeText                  - negative button text
     */
    protected void showAlertDialog(@Nullable String title @Nullable String message
                                   @Nullable DialogInterface.onclickListener onPositiveButtonclickListener
                                   @NonNull String positiveText
                                   @Nullable DialogInterface.onclickListener onNegativeButtonclickListener
                                   @NonNull String negativeText) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        build

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-04 10:05  uCrop-master
     文件          44  2018-01-04 10:05  uCrop-master.gitattributes
     目录           0  2018-01-04 10:05  uCrop-master.github
     文件         489  2018-01-04 10:05  uCrop-master.githubISSUE_TEMPLATE.md
     文件         367  2018-01-04 10:05  uCrop-master.gitignore
     文件        7221  2018-01-04 10:05  uCrop-masterREADME.md
     文件         619  2018-01-04 10:05  uCrop-masteruild.gradle
     文件        1369  2018-01-04 10:05  uCrop-mastergradle.properties
     目录           0  2018-01-04 10:05  uCrop-mastergradle
     目录           0  2018-01-04 10:05  uCrop-mastergradlewrapper
     文件       49896  2018-01-04 10:05  uCrop-mastergradlewrappergradle-wrapper.jar
     文件         230  2018-01-04 10:05  uCrop-mastergradlewrappergradle-wrapper.properties
     文件        5080  2018-01-04 10:05  uCrop-mastergradlew
     文件        2314  2018-01-04 10:05  uCrop-mastergradlew.bat
     文件        2748  2018-01-04 10:05  uCrop-mastermavenpush.gradle
     文件     8148837  2018-01-04 10:05  uCrop-masterpreview.gif
     文件     1466051  2018-01-04 10:05  uCrop-masterpreview.png
     目录           0  2018-01-04 10:05  uCrop-mastersample
     文件           7  2018-01-04 10:05  uCrop-mastersample.gitignore
     文件         752  2018-01-04 10:05  uCrop-mastersampleuild.gradle
     文件         665  2018-01-04 10:05  uCrop-mastersampleproguard-rules.pro
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrc
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmain
     文件        1701  2018-01-04 10:05  uCrop-mastersamplesrcmainAndroidManifest.xml
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmainjava
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacom
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacomyalantis
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacomyalantisucrop
     目录           0  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacomyalantisucropsample
     文件        3265  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacomyalantisucropsampleaseActivity.java
     文件        7303  2018-01-04 10:05  uCrop-mastersamplesrcmainjavacomyalantisucropsampleResultActivity.java
............此处省略186个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)