幾天前,我遇到了一個問題,我的一部分視圖被鍵盤重疊。
假設我們有 3 個不同的對話框(可以是任何內容),如下所示:

當我想寫任何東西時,最后一個對話框被鍵盤覆寫:

而且沒有辦法看到用戶寫了什么。這是我的代碼:
@Composable
fun BuildWordsView(navController: NavController, sharedViewModel: SharedViewModel) {
Column(
modifier = Modifier
.fillMaxWidth()
.background(PrimaryLight)
.fillMaxSize()
) {
BuildWordsScreenContents()
}
}
@Composable
fun BuildWordsScreenContents() {
Column(
Modifier
.fillMaxSize()
.padding(all = 16.dp)
) {
val inputBoxModifier = Modifier
.clip(RoundedCornerShape(10.dp))
.background(Primary)
.weight(12f)
.wrapContentHeight()
InputBlock("Dialog1", inputBoxModifier)
Spacer(Modifier.weight(1f))
InputBlock("Dialog2", inputBoxModifier)
Spacer(Modifier.weight(1f))
InputBlock("Dialog3", inputBoxModifier)
}
}
@Composable
fun InputBlock(dialogText: String, inputBlockModifier: Modifier) {
Column(modifier = inputBlockModifier) {
Text(
dialogText,
fontSize = 30.sp,
textAlign = TextAlign.Center,
modifier = Modifier
.fillMaxWidth()
.wrapContentSize(Alignment.Center)
)
var text by remember { mutableStateOf("") }
TextField(
value = text,
modifier = Modifier
.fillMaxWidth()
.wrapContentSize(Alignment.Center),
onValueChange = { text = it },
label = { Text("Label") }
)
}
}
這個問題似乎與我的相似,但答案修改了我想避免的視圖內容:

API 的重要說明 30-
對于低于 30 的 API,您需要修改 AndroidManifest.xml 檔案
在 <activity 您需要添加android:windowSoftInputMode="adjustResize"才能使其作業。它不會調整組件的大小,但必須使這種方法起作用
清單應如下所示:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize"
隨時給我任何提示,我該如何改進我的問題。AFAIK 這個問題與 android 一樣古老,我想創建一個快速教程來管理它。快樂編碼!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/412222.html
標籤:
上一篇:我有4-5個py檔案,所有這些檔案都使用相同的匯入庫并使用seleniumpython登錄,它們是管理匯入陳述句的更好方法嗎
下一篇:比較unix中變數的問題
