【问题标题】:SnackBar is not showing properly if the keyboard is opened in android如果在 android 中打开键盘,则 SnackBar 无法正确显示
【发布时间】:2018-03-10 04:33:25
【问题描述】:

我正在使用小吃店来显示信息,如果没有打开键盘,它可以正常工作。如果打开键盘,则显示整个屏幕的小吃店消息无法正确显示,我使用的是 android 5.5。我在我的活动清单中添加了这一行android:windowSoftInputMode="adjustResize|stateAlwaysHidden",但仍然是同样的问题。请帮我解决这个问题。请在下面找到图片。我的小吃条码是Snackbar.make(coordinator,getString(R.string.validation_plz_enter_mandatory_flds, UtilConstants.ERROR_CODE_UI_2000),Snackbar.LENGTH_INDEFINITE).show();

【问题讨论】:

  • SnackBar 到底在哪里,因为我从图片中看不到它?
  • 黑色是小吃店
  • 可以添加snackBar的代码吗?
  • 我添加了我的代码
  • 分享您的 xml 文件。这将更好地解释这种情况。

标签: android android-fragments android-keypad android-snackbar


【解决方案1】:

你有没有像下面的代码一样初始化你的快餐栏:

snackbar = Snackbar.make(findViewById(android.R.id.content), <Your message>, Snackbar.LENGTH_LONG);

或者你使用了自己的布局??

因为如果我们使用 android 自己的 UI 元素(android.R.id.content),它会设法显示在他们自己的有效 UI 上。你应该先试试这个。

【讨论】:

  • 我正在使用自己的布局
  • 试试android自带的UI元素(android.R.id.content)
  • @AndroidGeek 谢谢老兄。它非常简单和优雅的解决方案。它还解决了我在显示快餐栏时的另一个问题。
【解决方案2】:

只需使用以下代码隐藏您调用 SnackBar 的键盘:

  InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(parentLayout.getWindowToken(), 0); // parentLayout is your main layout of an activity

【讨论】:

    【解决方案3】:

    这是此问题的正确解决方案:SnackBar show Above the SoftInput (Keyboard) -(当键盘打开时)

    <activity android:name=".YourActivity"
        android:windowSoftInputMode="adjustResize"/> 
    

    标记到清单的活动标记中。

    【讨论】:

      【解决方案4】:

      将此属性放入您的 Manifest 文件中以进行适当的活动。

              <activity android:name=".YourActivity"
                    android:windowSoftInputMode="adjustResize"/>
      

      【讨论】:

        【解决方案5】:

        如果您使用 CoordinatorLayoutAppBarNestedLayoutEditText 内部,它不会工作。 这是支持库中的一个错误,报告了here

        类似问题here

        您可以通过将CoordinatorLayout 与另一个约束/相对布局(PS 我没有尝试过RealtiveLayout 但使用ConstraintLayout )包装并使用android:fitsSystemWindows="true" 来使用解决方法。 参考this答案。

        【讨论】:

          猜你喜欢
          • 2016-01-13
          • 2018-04-08
          • 1970-01-01
          • 1970-01-01
          • 2019-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多