应用沉浸模式时出现软键盘时,在片段中重叠 EditText 和 Button 上的键盘

Overlapping Keyboard on EditText and Button in fragments when soft keyboard appears when apply immersive mode

我想使用软键盘,但它隐藏了我的 EditText 或按钮,我需要它滚动以便键盘不会隐藏它。它与 Activity 配合使用效果很好,但与 Fragment 配合使用效果不佳。

我正在尝试使用此代码:

 @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    }

也试试这个代码:

@Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    }

有人对 Fragment 有什么建议吗?

在特定 activity

的清单中试试这个
<activity
    android:name=".YourActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateAlwaysHidden|adjustResize/>

或者在 activity

的 oncreate 中
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);