【问题标题】:Back button event not fired while keyboard is open in Android in Xamarin Forms在 Xamarin Forms 中的 Android 中打开键盘时未触发后退按钮事件
【发布时间】:2017-09-29 09:54:15
【问题描述】:

如何处理在 Xamarin Forms 中打开键盘时按下的硬件后退按钮?如果键盘打开,则不会触发 OnBackPressed 事件。有什么方法可以跟踪硬件后退按钮的点击,而键盘打开了吗?

【问题讨论】:

  • 但是后退按钮会关闭键盘,不是吗?一旦它关闭,下一次点击后退按钮应该会触发 OnBackPressed。这就是它应该在平台上工作的方式。
  • 是的。但是在我的应用程序中,我有一个输入字段,当我打字时键盘打开。单击硬件后退按钮后,我想强制输入字段失去焦点。所以我想跟踪那个事件. @ThomasHilbert

标签: c# android xamarin.forms xamarin.android


【解决方案1】:

单击硬件后退按钮后,我想强制输入字段失去焦点。

您可以覆盖OnBackButtonPressed 方法来跟踪硬件后退按钮的点击,即使您的键盘处于打开状态,它也确实有效。

例如:

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    protected override bool OnBackButtonPressed()
    {
        if (myEntry.IsFocused)
        {
            myEntry.Unfocus();
        }
        return base.OnBackButtonPressed();
    }

}

Effect.

【讨论】:

  • 它不起作用。打开键盘时不会触发 OnBackButtonPressed 和 OnBackPressed。 @York
  • @Debasish,它在我这边工作得很好,你能分享一个基本的演示来重现这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
相关资源
最近更新 更多