|
|
@@ -9,6 +9,7 @@ import android.graphics.Paint;
|
|
|
import android.graphics.PorterDuff;
|
|
|
import android.graphics.PorterDuffXfermode;
|
|
|
import android.graphics.RectF;
|
|
|
+import android.os.Handler;
|
|
|
import android.util.AttributeSet;
|
|
|
import android.util.DisplayMetrics;
|
|
|
import android.util.TypedValue;
|
|
|
@@ -96,6 +97,7 @@ public class CropView extends View {
|
|
|
* 设置扫描区域
|
|
|
*/
|
|
|
public void setScanArea(int scanType) {
|
|
|
+ AnimateManager.getInstance().stopAnimation();
|
|
|
switch (scanType) {
|
|
|
case SCAN_TYPE_POSTAL:
|
|
|
// 邮箱
|
|
|
@@ -188,6 +190,17 @@ public class CropView extends View {
|
|
|
// invalidate()重绘树,主线程使用,不会触发onMeasure()方法(控制大小用)。
|
|
|
// 如果是View就重绘View,如果是ViewGroup就全部重绘。postInvalidate()同,在子线程使用
|
|
|
// requestLayout()和invalidate()相反,只调用measure()和layout()过程,不会调用draw()
|
|
|
+
|
|
|
+ new Handler().postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ if (coverWidth > coverHeight) {
|
|
|
+ AnimateManager.getInstance().setWidth(coverWidth, coverHeight, sX, sY, eX, eY);
|
|
|
+ } else {
|
|
|
+ AnimateManager.getInstance().setHeight(coverWidth, coverHeight, sX, sY, eX, eY);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, 800);
|
|
|
}
|
|
|
|
|
|
/*生成bitmap*/
|
|
|
@@ -334,8 +347,6 @@ public class CropView extends View {
|
|
|
AnimateManager.getInstance().stopAnimation();
|
|
|
if (changeLocationlistener != null) {
|
|
|
changeLocationlistener.locationChange("change self");
|
|
|
- } else {
|
|
|
- changeLocationlistener = null;
|
|
|
}
|
|
|
|
|
|
memonyX = (int) event.getX();
|