دستور زیر را به فایل build.gradle پروژه خود اضافه کنید و اجازه دهید اندروید استودیو کتابخانه را دانلود نماید.
repositories{
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
}
dependencies {
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
}
نحوه استفاده
ایجاد نوشته با بک گراند مربع
یک ImageView به لیوت خود اضافه کنید.
<ImageView android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/image_view"/>
با استفاده از کدهای زیر حرف مورد نظر را به ویو بالایی ست کنید.
TextDrawable drawable = TextDrawable.builder()
.buildRect("A", Color.RED);
ImageView image = (ImageView) findViewById(R.id.image_view);
image.setImageDrawable(drawable);
نکته : خود ویو سایز نوشته را با توجه به سایز ImageView بزرگ یا کوچک می کند.
ایجاد نوشته با بک گراند دایره
مراحل مانند روش بالاست فقط در کدهای جاوا باید به شکل زیر ست کنید.
TextDrawable drawable = TextDrawable.builder()
.buildRound("A", Color.RED);
ایجاد نوشته با بک گراند مربع با گوشه های گرد
همانند مرحله یک انجام انجام میدید با تفاوت کد زیر در قسمت جاوای آن
TextDrawable drawable = TextDrawable.builder()
.buildRoundRect("A", Color.RED, 10);
نکته : پارامتر سوم تابع BuildRoundRect همان شعاع گرد را تعیین می کند.
اضافه کردن بردر یا نواربه دور آیتم ها
به طور مثال برای ساخت مربع با گوشه های گرد با نوار بصورت زیر می نویسیم
TextDrawable drawable = TextDrawable.builder()
.beginConfig()
.withBorder(4) /* thickness in px */
.endConfig()
.buildRoundRect("A", Color.RED, 10);
ست کردن فونت به آیتم
به طور مثال برای ست کردن فونت به آیتم مربعی به شکل زیر عمل می کنیم
TextDrawable drawable = TextDrawable.builder()
.beginConfig()
.textColor(Color.BLACK)
.useFont(Typeface.DEFAULT)
.fontSize(30) /* size in px */
.bold()
.toUpperCase()
.endConfig()
.buildRect("a", Color.RED)
نکته : به تابع useFont می توانید TypeFaceی که خودتان ساخته اید را هم ست کنید.
استفاده از تولید کننده رنگ خود کتابخانه
ساخت تولید کننده به شکل زیر می باشد اگر بصورت Material باشد رنگهای متریال دیزاین می دهد و در صورتی که DEFAULT ست شود رنگهای عادی تولید می کند.
ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT
تولید رنگ تصادفی به شکل زیر می باشد.
int color1 = generator.getRandomColor();
تولید رنگ از متن هم بصورت زیر می باشد.
int color2 = generator.getColor("user@gmail.com");