Skip to content

Instantly share code, notes, and snippets.

@masoudkarimi
Created October 12, 2021 18:33
Show Gist options
  • Save masoudkarimi/df81adf85bc7dcf869f038c94b7253a3 to your computer and use it in GitHub Desktop.
Save masoudkarimi/df81adf85bc7dcf869f038c94b7253a3 to your computer and use it in GitHub Desktop.
private fun formatDebitCard(editable: Editable, paddingPx: Int) {
val textLength = editable.length
// first remove any previous span
val spans = editable.getSpans(
0, editable.length,
PaddingRightSpan::class.java
)
for (i in spans.indices) {
editable.removeSpan(spans[i])
}
// adding spans
for (i in 0 until textLength) {
// 000`0` 000`0` 000`0` 0000
if (i in arrayOf(3, 7, 11)) {
val marginSPan =
PaddingRightSpan(paddingPx)
editable.setSpan(marginSPan, i, i + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment