TP-38094 [Bug] DOB text overflow issue (#151)
This commit is contained in:
@@ -41,9 +41,12 @@ import isNotNullAndNotEmpty
|
||||
import isNull
|
||||
import orFalse
|
||||
import orTrue
|
||||
import orZero
|
||||
import pxToDp
|
||||
import setHeight
|
||||
import setPadding
|
||||
import setWidth
|
||||
import spToPx
|
||||
import splitStringIntoUnequalParts
|
||||
import java.util.*
|
||||
|
||||
@@ -160,6 +163,11 @@ class MultiSectionTextFieldRenderer() : Renderer<MultiSectionTextFieldProperty>
|
||||
?: defaultMaxCharList[index]
|
||||
}
|
||||
(0 until property.textFieldPropertyList.size).forEach { index ->
|
||||
val fieldWidth = pxToDp(
|
||||
spToPx(
|
||||
property.textFieldPropertyList[index].textStyle.fontSize ?: 14
|
||||
) * maxCharList[index]
|
||||
).toInt() + property.textFieldPropertyList[index].padding?.start.orZero() + property.textFieldPropertyList[index].padding?.end.orZero()
|
||||
var cursorPosition by remember { mutableStateOf(inputValues[index].value.text.length) }
|
||||
BasicTextField(
|
||||
value = inputValues[index].value,
|
||||
@@ -206,7 +214,7 @@ class MultiSectionTextFieldRenderer() : Renderer<MultiSectionTextFieldProperty>
|
||||
uiTronViewModel.handleActions(multiSectionTextFieldData?.onInputValueChangeAction)
|
||||
},
|
||||
modifier = Modifier
|
||||
.setWidth(property.textFieldPropertyList[index].width)
|
||||
.setWidth(fieldWidth.toString())
|
||||
.setHeight(property.textFieldPropertyList[index].height)
|
||||
.setPadding(property.textFieldPropertyList[index].padding)
|
||||
.onKeyEvent { event ->
|
||||
|
||||
@@ -28,10 +28,13 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.SolidColor
|
||||
import androidx.compose.ui.graphics.TileMode
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextDecoration
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.constraintlayout.compose.ConstrainedLayoutReference
|
||||
@@ -410,6 +413,20 @@ fun dpToPx(inpDp: Int): Float {
|
||||
return (inpDp * Resources.getSystem().displayMetrics.density)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun pxToDp(px: Float): Float {
|
||||
return with(LocalDensity.current) {
|
||||
px.toDp().value
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun spToPx(intSp: Int): Float {
|
||||
return with(LocalDensity.current) {
|
||||
intSp.sp.toPx()
|
||||
}
|
||||
}
|
||||
|
||||
fun Boolean?.orTrue() = this ?: true
|
||||
|
||||
fun Boolean?.orFalse() = this ?: false
|
||||
|
||||
Reference in New Issue
Block a user