درج عدد کنار تصویر (مثل Facebook Notification Icon)
برای این که بتونم آیکن مربوط به پیامها و ناتیفیکیشن رو تغییر بدم، یعنی اینکه مثل Facebook Notification Icon یا مثل همین سایت یک عدد روا کنار آیکن قرار بدم چه راهی هست؟
نمی خوام آیکن رو عوض کنم و مثلا از آیکن عادی تا +20 قرار بدم
آیا سمپلی در این زمینه دارید؟
از RelativLayout استفاده کن و تکسن ویو و ایمیج ویو رو به هم مرتبط کن
ابتدا این کلاس رو به پروژه اضافه کنید. بعد در قسمت کنترل ها اگه برید یک کنترل با نام کلاستون اضافه شده (میتونید مثل یک imageview ازش استفاده کنید با این تفاوت که یک متد به نام setNotification برای اضافه کردن متن بش اضافه شده)
یک سری کارها مثل عوض کردن فونت نوشته و این ها هم هست که من براتون به صورت کامنت درآوردم . خواستید استفاده کنید از کامنت درش بیارید.
package com.uncocoder.app;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.AttributeSet;
import android.widget.ImageView;
public class IconChanger extends ImageView {
private Paint paint;
private String notification;
public IconChanger(Context context) {
super(context);
initialize();
}
public IconChanger(Context context, AttributeSet attrs) {
super(context, attrs);
initialize();
}
public IconChanger(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initialize();
}
private void initialize() {
paint = new Paint();
paint = new Paint();
paint.setColor(Color.parseColor("#000000"));
paint.setTextSize(20);
paint.setStyle(Style.FILL);
//paint.setTypeface(typeface);
//paint.setTextAlign(align);
//paint.setTextScaleX(arg0);
}
public void setNotification(String notification) {
this.notification = notification;
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawText(this.notification, 15, 15, paint);
}
}
و اینجوری استفاده کنید.
com.uncocoder.app.IconChanger iconChanger = (com.uncocoder.app.IconChanger) findViewById(R.id.iconChanger1);
iconChanger.setNotification("12");
در متد drawText پارامتر دوم و سوم نطقه شروع x و y ترسیم متن هست که من دو تاش رو دادم 15. با یک سری محاسبات ساده میتونید دقیقا بندازید وسط کنترل که این دیگه به عهده خودتون.
موفق باشید.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .