public void draw(Canvas canvas) { // This current version draws will draw the icon, and will draw // a colored rectangle around the person's icon if selected super.onDraw(canvas); // Log.v("UserView", "UserView's onDraw()"); int b = Values.iconBorderPadding; int namebox = Values.iconTextH; // the namebox height if (isSelected) { RectShape rect2 = new RectShape(); ShapeDrawable s = new ShapeDrawable(rect2); s.getPaint().setColor(Color.YELLOW); s.setBounds( x - b - Values.selectedBorder, y - b - Values.selectedBorder, x + image.getWidth() + 2 * Values.selectedBorder + b, y + image.getHeight() + 2 * Values.selectedBorder + b + namebox); s.draw(canvas); } /*if(nameBoxImage!=null){ canvas.drawBitmap(nameBoxImage, x, y + Values.userIconH - Values.iconTextH, null); canvas.drawText(person.getUsername(), 0, Math.min(11,(person.getUsername()).length()), x + Values.iconTextPadding, y + Values.userIconH - Values.iconTextPadding, paint); }*/ // Crystal if (person != null) { // Crystal // Log.v(LOG_TAG, "FINAL!"); RectShape rect1 = new RectShape(); ShapeDrawable bord = new ShapeDrawable(rect1); // Log.v(LOG_TAG,"person color"+person.user_color); // bord.getPaint().setStyle(Style.STROKE); // bord.getPaint().setStrokeWidth(b); bord.getPaint().setColor(getResources().getColor(person.user_color)); bord.setAlpha(204); bord.setBounds(x - b, y - b, x + image.getWidth() + b, y + image.getHeight() + b); Log.v(LOG_TAG, "SIZE" + (image.getWidth() + 2 * b) + "" + (image.getHeight() + 2 * b)); // border.setPadding(b,b,b,b); bord.draw(canvas); // Crystal image Bitmap overlay = Bitmap.createBitmap(image.getWidth(), image.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(overlay); paint.setAntiAlias(true); paint.setTextSize(Values.nameTextSize); c.drawBitmap(image, 0, 0, null); RectShape nTag = new RectShape(); ShapeDrawable nameTag = new ShapeDrawable(nTag); nameTag.getPaint().setColor(getResources().getColor(person.user_color)); nameTag.setAlpha(204); nameTag.setBounds(0, image.getHeight() - namebox, image.getWidth(), image.getHeight()); nameTag.draw(c); c.drawText( person.getUsername(), 0, Math.min(11, (person.getUsername()).length()), 0 /*Values.iconTextPadding*/, image.getHeight() - namebox + Values.nameTextSize /*5/2*Values.iconBorderPadding+10*/, paint); canvas.drawBitmap(overlay, x, y, null); if (person == space.getOwner()) { Bitmap adminTag = Bitmap.createBitmap(image.getWidth() + 2 * b, 20, Bitmap.Config.ARGB_8888); Canvas ac = new Canvas(adminTag); Paint ad = new Paint(); ad.setColor(Color.rgb(0, 0, 0)); ad.setAlpha(204); ac.drawRect(0, 0, image.getWidth() + 2 * b, 20, ad); ad.setAlpha(255); ad.setColor(Color.WHITE); ad.setStyle(Paint.Style.FILL); ad.setAntiAlias(true); ad.setTextSize(Values.adminTextSize); ac.drawText("admin", Values.textAdjust, (Values.adminBox - Values.textAdjust), ad); canvas.drawBitmap(adminTag, x - b, y - b, null); } } else { canvas.drawBitmap(image, x, y, null); } }