@ নন্দনকুমারসিংহের উত্তর https://stackoverflow.com/a/39965170/5279156 কাজ করে তবে আমি কোডে ফ্যাব দিয়ে কিছু পরিবর্তন করেছি (এক্সএমএল নয় কারণ তারা ক্লাস পদ্ধতিতে ওভাররাইট করা হবে)
fab.setTextBitmap("ANDROID", 100f, Color.WHITE)
fab.scaleType = ImageView.ScaleType.CENTER
fab.adjustViewBounds = false
একই কার্যকারিতা সহ শ্রেণীর setTextBitmap
জন্য যেখানে একটি এক্সটেনশন ImageView
তবে এটি মাল্টিলিন পাঠ্যকে সমর্থন করে
fun ImageView.setTextBitmap(text: String, textSize: Float, textColor: Int) {
val paint = Paint(Paint.ANTI_ALIAS_FLAG)
paint.textSize = textSize
paint.color = textColor
paint.textAlign = Paint.Align.LEFT
val lines = text.split("\n")
var maxWidth = 0
for (line in lines) {
val width = paint.measureText(line).toInt()
if (width > maxWidth) {
maxWidth = width
}
}
val height = paint.descent() - paint.ascent()
val bitmap = Bitmap.createBitmap(maxWidth, height.toInt() * lines.size, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
var y = - paint.ascent()
for (line in lines) {
canvas.drawText(line, 0f, y, paint)
y += height
}
setImageBitmap(bitmap)
}