Skip to content

Instantly share code, notes, and snippets.

@masoudkarimi
Created October 12, 2021 18:34
Show Gist options
  • Save masoudkarimi/1a6c89f75fb8962dee81abcb2dc843fd to your computer and use it in GitHub Desktop.
Save masoudkarimi/1a6c89f75fb8962dee81abcb2dc843fd to your computer and use it in GitHub Desktop.
class PaddingRightSpan(private val mPadding: Int) : ReplacementSpan() {
override fun getSize(
paint: Paint, text: CharSequence,
start: Int, end: Int,
fm: Paint.FontMetricsInt?
): Int {
val widths = FloatArray(end - start)
paint.getTextWidths(text, start, end, widths)
var sum = 0
for (i in widths.indices) {
sum += widths[i].toInt()
}
return sum + mPadding
}
override fun draw(
canvas: Canvas,
text: CharSequence,
start: Int,
end: Int,
x: Float,
top: Int,
y: Int,
bottom: Int,
paint: Paint
) {
canvas.drawText(text, start, end, x, y.toFloat(), paint)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment