我正在开发图片选择/裁剪程序并使用以下代码:
http://www.androidworks.com/crop_large_photos_with_android/comment-page-1#comment-969
据我所知,我们设置属性时将附加内容添加到我们的意图中,如下面的代码。
为了改变选择区域,我们需要触摸边框,然后箭头变得可见,但我想做的是让它们始终可见,因为这样很难让用户理解。Instagram 的 Android 应用程序就是这样做的,所以我想有办法做到这一点。
谢谢。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("outputX", outputX);
intent.putExtra("outputY", outputY);
intent.putExtra("scale", scale);
intent.putExtra("return-data", return_data);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());
编辑/解决方案: 感谢@Renard,我找到了这样的解决方案:
我使用了这个画廊源代码: http: //gitorious.org/0xdroid/packages_apps_gallery3d/trees/3c02f2877dc2f8f0b5c01d03fa2b487c040e4000
我也尝试了一些其他画廊资源代码,但这个是最容易维护的。
如果签入 Highlightview.java 类的 draw() 函数,您只需要删除以下内容:
if (mMode == ModifyMode.Grow)
当您这样做时,它会起作用,但是箭头在移动时会自行重复,为了避免您需要更改 moveBy() 方法的最后一行,即:
mContext.invalidate(invalRect);
有了这个:
mContext.invalidate();