我在android lollipop上使用edmodo / cropper库时遇到了一些问题。 我的应用程序应拍摄一些照片,每张照片拍完后,用户应剪裁正方形图像。 这是我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.newapicamera.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/footer" />
<com.edmodo.cropper.CropImageView
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:id="@+id/CropImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/footer"
android:visibility="invisible" />
<ImageView
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:src="@drawable/footer" />
<TextView
android:id="@+id/current_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:textColor="#FFFFFF"
android:textSize="30sp" />
这就是我在拍摄照片后启动作物库的方法;
crop_view.setImageBitmap(bitmap);
mCameraDevice.close();
mTextureView.setVisibility(View.INVISIBLE);
crop_view.setVisibility(View.VISIBLE);
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int dpWidth = displayMetrics.widthPixels;
crop_view.setFixedAspectRatio(true);
crop_view.setAspectRatio(dpWidth, dpWidth);
我有后续问题:
答案 0 :(得分:8)
我遇到了同样的问题,以下解决方案对我有用:
cropImageView.setFixedAspectRatio(true);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
cropImageView.setAspectRatio(7, 7);
}
}, 500);
答案 1 :(得分:1)
此问题是一个错误,现在您可以使用新版本,此问题已修复。 此时新版本为2.0.0 ,遗憾的是在cropper wiki上没有提及。