Add Label text alignment property
This commit is contained in:
parent
5c66e961d2
commit
37835b578d
|
@ -24,7 +24,8 @@ class Label(
|
|||
text: String,
|
||||
val shadow: Boolean = true,
|
||||
val maxLines: Int = 0,
|
||||
val wrappingMode: WrappingMode = WrappingMode.WRAP
|
||||
val wrappingMode: WrappingMode = WrappingMode.WRAP,
|
||||
val textAlignment: TextAlignment = TextAlignment.LEFT
|
||||
): View() {
|
||||
|
||||
companion object {
|
||||
|
@ -36,6 +37,10 @@ class Label(
|
|||
WRAP, NO_WRAP
|
||||
}
|
||||
|
||||
enum class TextAlignment {
|
||||
LEFT, CENTER, RIGHT
|
||||
}
|
||||
|
||||
/**
|
||||
* The text of this label. Mutating this field will update the intrinsic content size and trigger a layout.
|
||||
*/
|
||||
|
@ -79,8 +84,13 @@ class Label(
|
|||
}
|
||||
|
||||
for (i in 0 until lines.size) {
|
||||
val x = when (textAlignment) {
|
||||
TextAlignment.LEFT -> 0.0
|
||||
TextAlignment.CENTER -> (bounds.width + textRenderer.getStringWidth(lines[i])) / 2
|
||||
TextAlignment.RIGHT -> bounds.width - textRenderer.getStringWidth(lines[i])
|
||||
}
|
||||
val y = i * textRenderer.fontHeight
|
||||
drawFunc(lines[i], 0f, y.toFloat(), textColorARGB)
|
||||
drawFunc(lines[i], x.toFloat(), y.toFloat(), textColorARGB)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue