如何解决Textview Android Kotlin 中的订单列表
嘿,我想在 android Kotlin 的 textview 中按顺序列表显示文本。我试过Ordered List inside an Android Textview。我试过这里的代码它有效,但它的缺失与数字和文本的高度匹配。我将分享我到目前为止所做的代码。
NumberIndentSpan.kt
import android.graphics.Canvas
import android.graphics.Paint
import android.text.Layout
import android.text.style.LeadingMarginSpan
class NumberIndentSpan(
private val leadWidth: Int,private val gapWidth: Int,private val index: Int
) : LeadingMarginSpan {
override fun getLeadingMargin(first: Boolean): Int = leadWidth + gapWidth
override fun drawLeadingMargin(
c: Canvas?,p: Paint?,x: Int,dir: Int,top: Int,baseline: Int,bottom: Int,text: CharSequence?,start: Int,end: Int,first: Boolean,layout: Layout?
) {
if (first) {
val orgStyle = p!!.style
p.style = Paint.Style.FILL
val width = p.measureText("4.")
c!!.drawText("$index.",(leadWidth + x - width / 2) * dir,bottom - p.descent(),p)
p.style = orgStyle
}
}
}
MainActivity.kt
val list = mutablelistof(
"Log in Google account\n","Scroll to the page\n","Tap disconnect from account to logout"
)
var number = 1
val builder = SpannableStringBuilder()
for (text in list) {
val contentStart: Int = builder.length
builder.append(text)
builder.setSpan(NumberIndentSpan(15,15,number),contentStart,builder.length,0)
number++
}
textView.text = builder
我想将数字和文本放在相同的高度。如图所示,我从这段代码中得到了什么。我也遇到了格式问题,比如 1st 点和 2nd 点文本开始不同,我想要顺序。我该如何解决所有这些问题。提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。