AlertDialog像下面這樣簡單
AlertDialog(
modifier = Modifier,
title = {
Text(text = "Title")
},
text = {
Column(
modifier = Modifier.fillMaxWidth()
) {
TextButton() {
Text("Text 1")
}
TextButton() {
Text("Text 2")
}
}
},
confirmButton = {},
dismissButton = {}
)
如何設定標題和第一個之間的間距TextButton?
我試圖將 a 設定.padding(top = X.dp)為 Column 或第一個文本按鈕,但這似乎只在AlertDialog.
設定自定義.height(X.dp)也不起作用。
我正在使用撰寫 1.0.3
uj5u.com熱心網友回復:
這不是答案。它僅提供有關為什么這是不可能的資訊。
目前(2021 年 10 月 6 日)使用當前的 compose 版本 (1.0.3) 似乎無法實作該要求。
一旦可能,將更新此內容。
該AlertDialog代碼不尊重提供的填充值。
AlertDialog.kt
// Baseline distance from the first line of the text to the last line of the title
private val TextBaselineDistanceFromTitle = 36.sp
用于定位的文本偏移量是這樣計算的。
val textOffset = if (titlePlaceable == null) {
TextBaselineDistanceFromTop.roundToPx()
} else {
TextBaselineDistanceFromTitle.roundToPx()
}
可組合文本中的第一個文本與可組合標題中的最后一個文本之間的距離始終為36.sp。
compose 中的 Alert Dialog 代碼目前看起來太黑了,我可以在代碼中看到一些 TODO。
希望代碼會盡快更改以處理更多場景。
uj5u.com熱心網友回復:
我使用這個可組合作為里面的第一個孩子 Column
@Composable
fun HackySpacer(space: Dp) {
Box(
modifier = Modifier
.height(space)
.fillMaxWidth()
) {
Text(text = "")
}
}
它并不完美,但適用于我的用例。
uj5u.com熱心網友回復:
正如@Abhimanyu 完美地解釋了為什么它現在不起作用的原因,這是我用來實作所需填充的解決方法:將標題放入內容中。AlertDialog的titleparam 是可選的,因此可以省略/設定為null,而實際標題可以放在text引數中(保存對話框內容)。
@Composable
fun MyComposable() {
AlertDialog(
title = null,
text = {
Column {
Text(
modifier = Modifier.padding(vertical = 16.dp),
text = "Actual title"
)
// Rest of the dialog content
}
}
)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/326277.html
標籤:安卓 安卓布局 android-jetpack-compose 安卓对话框 间距
上一篇:如何反轉XML形狀的邊框?
