分享

安卓系统图片剪裁在华为上是圆形框在小米是方形裁剪框

 火柴个人资料馆 2016-11-03
Android调用系统方法对图片进行裁剪时,华为手机显示的图形会变成圆形,改为aspectX和aspectY不是1;1就好
 
// 此方法为截取 100*100照片大小
Intent intent = new Intent("com.android.camera.action.CROP");
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
String url = getPath(NewBinderActivity.this, uri);
intent.setDataAndType(Uri.fromFile(new File(url)), "image/*");
} else {
intent.setDataAndType(uri, "image/*");
}
// 设置裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
if(android.os.Build.MODEL.contains("HUAWEI"))
{//华为特殊处理 不然会显示圆
intent.putExtra("aspectX", 9998);
intent.putExtra("aspectY", 9999);
}
else
{
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
}

// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("return-data", true);
startActivityForResult(intent, resultCode);

之前在两款华为手机上进行了测试 都没有问题 后来用的一款出现了 系统裁剪 还是圆形 对华为手机类型判断失效了 由于机型过多 所以放弃了系统的裁剪框
直接应用第三方的裁剪框 完全解决了不同机型的系统适配问题 我把方法写在了后面的 华为图片裁剪框圆形修改的方法 里面 关于第三方使用的方法 确实很方便

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多