@@ -120,10 +120,7 @@ protected void onCreate(Bundle savedInstanceState) {
120
120
imageView .getLayoutParams ();
121
121
params .height = (int ) (height * BADGE_IMAGE_HEIGHT_RATIO );
122
122
params .width = (int ) (width * BADGE_IMAGE_WIDTH_RATIO );
123
- Drawable drawable = getResources ().getDrawable (R .drawable .badge );
124
- Bitmap bitmap = drawableToBitmap (drawable );
125
- BitmapDrawable bitmapImage = writeOnDrawable (bitmap , "LEVEL 1" );
126
- imageView .setImageDrawable (bitmapImage );
123
+ imageView .setImageResource (R .drawable .badge );
127
124
imageView .requestLayout ();
128
125
129
126
setSupportActionBar (toolbar );
@@ -243,6 +240,7 @@ private void parseJson(JSONObject object) {
243
240
244
241
/**
245
242
* Used the inflate the fetched statistics of the images uploaded by user
243
+ * and assign badge and level
246
244
* @param achievements
247
245
*/
248
246
private void inflateAchievements ( Achievements achievements ){
@@ -252,8 +250,13 @@ private void inflateAchievements( Achievements achievements ){
252
250
imagesUsedByWikiProgessbar .setProgressTextFormatPattern
253
251
(achievements .getUniqueUsedImages () + "/" + levelInfo .getMaximumUniqueImagesUsed ());
254
252
imagesFeatured .setText (Integer .toString (achievements .getFeaturedImages ()));
255
- levelNumber .setText (R .string .level );
256
- levelNumber .append ( " " + Integer .toString (levelInfo .getLevel ()));
253
+ String levelUpInfoString = getString (R .string .level );
254
+ levelUpInfoString += " " + Integer .toString (levelInfo .getLevel ());
255
+ levelNumber .setText (levelUpInfoString );
256
+ Drawable drawable = getResources ().getDrawable (R .drawable .badge );
257
+ Bitmap bitmap = drawableToBitmap (drawable );
258
+ BitmapDrawable bitmapImage = writeOnDrawable (bitmap , levelUpInfoString );
259
+ imageView .setImageDrawable (bitmapImage );
257
260
}
258
261
259
262
/**
@@ -298,6 +301,12 @@ private void hideLayouts(){
298
301
levelNumber .setVisibility (View .INVISIBLE );
299
302
}
300
303
304
+ /**
305
+ * write level Number on the badge
306
+ * @param bm
307
+ * @param text
308
+ * @return
309
+ */
301
310
public BitmapDrawable writeOnDrawable (Bitmap bm , String text ){
302
311
Bitmap .Config config = bm .getConfig ();
303
312
if (config == null ){
@@ -308,14 +317,20 @@ public BitmapDrawable writeOnDrawable(Bitmap bm, String text){
308
317
canvas .drawBitmap (bm , 0 , 0 , null );
309
318
Paint paint = new Paint (Paint .ANTI_ALIAS_FLAG );
310
319
paint .setStyle (Paint .Style .FILL );
311
- paint .setColor (Color .BLUE );
312
- paint .setTextSize (100 );
320
+ paint .setColor (Color .WHITE );
321
+ paint .setTextSize (300 );
322
+ paint .setTextAlign (Paint .Align .CENTER );
313
323
Rect rectText = new Rect ();
314
324
paint .getTextBounds (text ,0 , text .length (),rectText );
315
- canvas .drawText (text , 0 , rectText . height ( ), paint );
325
+ canvas .drawText (text , Math . round ( canvas . getWidth ()/ 2 ), Math . round ( canvas . getHeight ()/ 1.75 ), paint );
316
326
return new BitmapDrawable (getResources (), bitmap );
317
327
}
318
328
329
+ /**
330
+ * Convert Drawable to bitmap
331
+ * @param drawable
332
+ * @return
333
+ */
319
334
public static Bitmap drawableToBitmap (Drawable drawable ) {
320
335
if (drawable instanceof BitmapDrawable ) {
321
336
return ((BitmapDrawable )drawable ).getBitmap ();
0 commit comments