gpt4 book ai didi

android - 如何将状态和调整与 window.setSoftInputMode() 结合起来

转载 作者:行者123 更新时间:2023-11-29 23:31:47 25 4
gpt4 key购买 nike

我需要在 DialogFragment 出现时显示键盘,所以我这样做了:

dialog.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)

它工作得很好,但如果键盘在屏幕上太高(比如当您尝试使用表情符号面板上的搜索栏时),我会挤压 EditText。所以我把 android:windowSoftInputMode="adjustPan" 放在 list 文件中,但是它被忽略了。所以我去掉了 SOFT_INPUT_STATE_ALWAYS_VISIBLE。然后挤压部分修复了,但我的键盘不会自动显示,除非我点击 EditText。

Android documentation说您可以在 windowSoftInputMode 上组合状态和调整选项像这样:

<activity
android:windowSoftInputMode="stateAlwaysVisible| adjustPan" ... >
...
</activity>

但是因为它是一个 DialogFragment,我不需要在 Activity 上显示键盘,只有当 DialogFragment 出现时。

如何以编程方式组合 stateAlwaysVisibleadjustPan

最佳答案

您似乎可以使用按位或运算符。所以它看起来像这样:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)

...或者如果您使用 Kotlin:

window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE or WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)

在此处阅读有关按位运算符的更多信息:JavaKotlin

关于android - 如何将状态和调整与 window.setSoftInputMode() 结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52568417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com