为了账号安全,请及时绑定邮箱和手机立即绑定

键盘隐藏BottomSheetDialog

键盘隐藏BottomSheetDialog

MMTTMM 2021-10-13 13:33:48
我正在使用BottomSheetDialog从客户那里获取一些输入,当用户单击TextInputLayout时,我的视图包含TextInputLayout和TextInputLayout下方的按钮,下面的按钮被键盘隐藏,所以我需要键盘上方的那个按钮,尝试了很多可能性,但是无法修复它。附上有关它的照片。Java文件(活动)代码:BottomSheetDialog customTipAmountBottomSheetDialog;private void showCustomTipAmountBottomSheet() {    customTipAmountBottomSheetDialog = new BottomSheetDialog(OrderActivity.this);    View customTipAmountBottomSheetView = getLayoutInflater().inflate(R.layout.custom_tip_amount_bottom_sheet, null);    customTipAmountBottomSheetDialog.setContentView(customTipAmountBottomSheetView);    InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);    assert imm != null;    imm.showSoftInput(binding.invoiceDialog.submit, InputMethodManager.RESULT_HIDDEN);    TextInputLayout customTipAmountBSTIL = customTipAmountBottomSheetView.findViewById(R.id.customTipAmountBSTIL);    EditText customTipAmountBSET = customTipAmountBottomSheetView.findViewById(R.id.customTipAmountBSET);    ImageView submit_custom_tip_amount = customTipAmountBottomSheetView.findViewById(R.id.submit_custom_tip_amount);    submit_custom_tip_amount.setOnClickListener(view -> {        String amount = customTipAmountBSET.getText().toString();        if (amount.length() > 0 && Integer.parseInt(amount) > 0) {            int tipAmount = Integer.parseInt(amount);            if (tipAmount > 0 && tipAmount < 51) {                binding.invoiceDialog.customTipAmountTv.setText(tipAmount);                captainTipAmount = tipAmount;                customTipAmountBottomSheetDialog.dismiss();            } else {                customTipAmountBSTIL.setError("Amount should be less than 50");            }        } else {            customTipAmountBSTIL.setError("Requires a valid amount");        }    });    customTipAmountBottomSheetDialog.show();}
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

在您的活动 java 类中的 onCreate() 方法上使用以下方法。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

几天前,我遇到了同样的问题。然后在我的onCreate()方法中使用这部分代码,那么问题就解决了。

样本:

//img1.sycdn.imooc.com//61666ffc00014e2200020023.jpg

查看完整回答
反对 回复 2021-10-13
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

有几种方法可以实现这一点:

1.将以下代码写入您的 Android Manifest 文件中的<activity>标签下:

android:windowSoftInputMode="stateHidden|adjustResize"

2.将以下代码写入您onCreate()的活动方法中:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

我希望它对你有用。


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信