Приведенный ниже код отлично работает на Android 14-, но на Android 15 нижняя часть всплывающей подсказки обрезана:
[img]https:/ /i.sstatic.net/WxjaCpYw.png[/img]
Нижняя часть красной рамки отсутствует, видна только верхняя часть буквы «g».
Похоже, не хватает высоты верхней строки состояния, как это исправить? Код:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
var veryLongTooltip = ""
for (i in 0..60) { // generate 60 lines
veryLongTooltip += "$i\n"
}
veryLongTooltip += "\n" + "last line aaaaaa bbbbbbb cccccc dddddd eeeeee fffffff ggggggg"
setContent {
TestTheme {
Scaffold { innerPadding ->
Column(
modifier = Modifier.padding(innerPadding),
) {
TooltipButton(tooltipText = veryLongTooltip)
}
}
}
}
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun TooltipButton(tooltipText: String) {
val tooltipState = rememberTooltipState(isPersistent = true)
TooltipBox(
positionProvider = TooltipDefaults.rememberRichTooltipPositionProvider(),
tooltip = {
RichTooltip(
shape = RoundedCornerShape(5.dp),
modifier = Modifier
.border(4.dp, Color.Red, shape = RoundedCornerShape(5.dp))
) {
Text(
tooltipText,
fontSize = 18.sp,
modifier = Modifier.verticalScroll(rememberScrollState())
)
}
},
state = tooltipState
) {
val coroutine = rememberCoroutineScope()
Button(
onClick = {
coroutine.launch { tooltipState.show() }
}
) {
Text("click to show the tooltip")
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... een-height