Нижняя часть всплывающей подсказки Android 15 обрезается, когда она превышает высоту экранаAndroid

Форум для тех, кто программирует под Android
Anonymous
Нижняя часть всплывающей подсказки Android 15 обрезается, когда она превышает высоту экрана

Сообщение Anonymous »

Приведенный ниже код отлично работает на 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

Вернуться в «Android»