Android华容道之一步一步实现-7-重构代码
是時候做一點代碼的重構了,畢竟已經是一個可運行的版本了,并且順帶做一點點美化的工作,先看效果圖,重構和美化完之后的版本效果圖。
?
?
?
重構第一部分
如果是數字版,不再使用帶有數字的圖片,而是使用動態創建數字圖片的方式。并在圖片上繪制數字,代碼如下:
?
private void draw_text(Bitmap bitmap, String text) {
? int width = bitmap.getWidth();
? int height = bitmap.getHeight();
? Canvas canvas = new Canvas(bitmap);
?
? Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG
? ? | Paint.DEV_KERN_TEXT_FLAG);
?
? Paint rect_paint = new Paint();
? rect_paint.setColor(Color.GRAY);
? rect_paint.setStyle(Paint.Style.FILL);
?
? RectF rect = new RectF(1, 1, width - 1, height - 1);
? canvas.drawRoundRect(rect, 20, 20, rect_paint);
?
? paint.setTextSize(width * 0.5f);
? paint.setColor(Color.WHITE);
? paint.setFakeBoldText(false);
? paint.setTextAlign(Paint.Align.CENTER);
?
? Paint.FontMetrics fontMetrics = paint.getFontMetrics();
? float top = fontMetrics.top;
? float bottom = fontMetrics.bottom;
?
? int baseLineY = (int) (rect.centerY() - top / 2 - bottom / 2);
? canvas.drawText(text, rect.centerX(), baseLineY, paint);
?
? canvas.save(Canvas.ALL_SAVE_FLAG);
? canvas.restore();
?}
?
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Android华容道之一步一步实现-7-重构代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android华容道之一步一步实现-6-
- 下一篇: Android华容道之一步一步实现-8-