@Override public void handleMessage(Message msg) { super.handleMessage(msg); int what = msg.what; HandlerObj handlerObj = (HandlerObj) msg.obj; String url = handlerObj.getUrl(); Bitmap bitmap = handlerObj.getBitmap(); FailReason failReason = handlerObj.getFailReason(); switch (what) { case GET_BITMAP_FAIL: loadFailDealWith(url, failReason); break; case GET_BITMAP_SUCCESS: loadBitmapCompleteDealWith(url, bitmap); break; case GET_BITMAP_START: // loadStartDealWith(url); break; default: break; } handlerObj.setBitmap(null); handlerObj.setFailReason(null); handlerObj.setUrl(null); }
@Override @SuppressWarnings("unchecked") public void handleMessage(Message message) { switch (message.what) { case MSG_RUN_OBJECT: ((Runnable) message.obj).run(); return; default: super.handleMessage(message); } }
@Override public void handleMessage(Message msg) { super.handleMessage(msg); matrix.set(getImageMatrix()); switch (msg.what) { case 1: if (!isFinish) { return; } else { isFinish = false; count = 0; s = (float) Math.sqrt(Math.sqrt(minScale)); BeginScale(matrix, s); handler.sendEmptyMessage(2); } break; case 2: BeginScale(matrix, s); if (count < 4) { handler.sendEmptyMessage(2); } else { isFinish = true; if (!isActionMove && onclick != null) { onclick.onClick(); } } count++; break; case 6: if (!isFinish) { handler.sendEmptyMessage(6); } else { isFinish = false; count = 0; s = (float) Math.sqrt(Math.sqrt(1.0f / minScale)); BeginScale(matrix, s); handler.sendEmptyMessage(2); } break; } }
@Override public void handleMessage(Message msg) { super.handleMessage(msg); matrix.set(getImageMatrix()); switch (msg.what) { case 1: count = 0; BeginRolate(matrix, (XbigY ? count : 0), (XbigY ? 0 : count)); rolateHandler.sendEmptyMessage(2); break; case 2: BeginRolate(matrix, (XbigY ? count : 0), (XbigY ? 0 : count)); if (count < getDegree()) { rolateHandler.sendEmptyMessage(2); } else { isFinish = true; } count++; count++; break; case 3: BeginRolate(matrix, (XbigY ? count : 0), (XbigY ? 0 : count)); if (count > 0) { rolateHandler.sendEmptyMessage(3); } else { isFinish = true; if (!isActionMove && onclick != null) { onclick.onClick(); } } count--; count--; break; case 6: count = getDegree(); BeginRolate(matrix, (XbigY ? count : 0), (XbigY ? 0 : count)); rolateHandler.sendEmptyMessage(3); break; } }
public void handleMessage(Message msg) { switch (msg.what) { case 1: if (flag == 0) { if (tempDegree > 5f) { tempDegree -= 5f; } else { if_animate = false; tempDegree = 0f; curDegree = 0f; } } else if (flag == 1) { if (tempDegree < 90f && (90f - tempDegree) > 5f) { tempDegree += 5f; } else { if_animate = false; tempDegree = 90f; curDegree = 90f; } } else if (flag == 2) { if (tempDegree < 135f && (tempDegree - 90f) > 5f) { tempDegree -= 5f; } else { if_animate = false; tempDegree = 90f; curDegree = 90f; } } else if (flag == 3) { if (tempDegree < 180f && (180f - tempDegree) > 5f) { tempDegree += 5f; } else { if_animate = false; tempDegree = 180f; curDegree = 180f; } } else if (flag == 4) { if (tempDegree < 225f && (tempDegree - 180f) > 5f) { tempDegree -= 5f; } else { if_animate = false; tempDegree = 180f; curDegree = 180f; } } else if (flag == 5) { if (tempDegree < 270f && (270f - tempDegree) > 5f) { tempDegree += 5f; } else { if_animate = false; tempDegree = 270f; curDegree = 270f; } } else if (flag == 6) { if (tempDegree < 315f && (tempDegree - 270f) > 5f) { tempDegree -= 5f; } else { if_animate = false; tempDegree = 270f; curDegree = 270f; } } else if (flag == 7) { if (tempDegree < 360f && (360f - tempDegree) > 5f) { tempDegree += 5f; } else { if_animate = false; tempDegree = 0f; curDegree = 0f; } } if (if_animate == true) new Thread(new FLingRunnable()).start(); m.setRotate(tempDegree, centerX, centerY); setImageMatrix(m); // 此方法会 调用invalidate() 从而重绘界面 break; } super.handleMessage(msg); }