【问题标题】:To Hide soft keyboard or virtual keyboard on loading the fragment加载片段时隐藏软键盘或虚拟键盘
【发布时间】:2012-06-04 14:04:12
【问题描述】:

我的片段中有 2 个编辑文本框。每当这个片段被任何活动加载时,软键盘就会出现在屏幕上,从而覆盖平板电脑屏幕的一半。每当我的片段被加载时,我想隐藏软键盘任何活动。软键盘应仅在单击或点击编辑文本框时出现。

【问题讨论】:

  • 在你的 manifest.xml 中这样做

标签: android-softkeyboard android


【解决方案1】:

Padma 的评论将阻止软键盘出现在应用程序中,这听起来不像您想要的,因为您有 EditText 需要从某个地方获取他们的输入。

您可以在加载时关闭该视图上的任何 EditText 的软键盘:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(findViewById(R.id.your_edit_text).getWindowToken(), 0);

【讨论】:

  • 你把这段代码放在哪里?我试过 onCreateView() 和 onResume() 但我的 EditText 仍然抓住焦点并打开软键盘。
【解决方案2】:
getActivity().getWindow().setSoftInputMode(
              WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

【讨论】:

    【解决方案3】:

    对于 DialogFragment,您必须从对话框中移除焦点,而不是仅从 DialogFragment 中的第一个 EditText 移除焦点

    this.getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      相关资源
      最近更新 更多