繁体   English   中英

为什么在Xamarin.forms的自定义渲染器中将ImeOptions设置为Next不能将我带到Android中的next字段

[英]Why is Setting ImeOptions to Next in custom renderer of Xamarin.forms not taking me to next field in Android

我在Xamarin.Forms的应用程序中有一个包含一些字段的表单。 我需要在android软键盘上提供文本“下一步”,点击“下一步”时,它应该带我进入下一个字段。

我在customRenderer中的代码:

Control.ImeOptions = Android.Views.InputMethods.ImeAction.Next;
Control.SetImeActionLabel("Next",Android.Views.InputMethods.ImeAction.Next);

这会将小键盘上的文本设置为“下一步”,但不会带我进入下一个字段。

我还尝试在xaml.cs的OnAppearing()中编写一些代码:

entryOne.Completed+= (object sender, EventArgs e) =>
   {entryTwo.Focus(); };

即使这样也不起作用。

下面的代码还声称在android软键盘按钮上显示“ Whatever”,但它显示了ImeAction的枚举值,在以下情况下为“ Next”:

Control.SetImeActionLabel("Whatever",Android.Views.InputMethods.ImeAction.Next);

Xamarin.Forms Entry提供此功能,您可以使用属性ReturnType设置键盘,并使用ReturnCommand编写代码,您要重点关注单击该条目。

在您的xaml中:

    <Entry   x:Name="txtUserName"
             ReturnCommand="{Binding loginCompleted}"
             ReturnType="Next"/>
    <Entry   x:Name="txtPassword"/>

在您的视图模型中:

      public ICommand loginCompleted
        {
            get { return new Command(loginCompletedEvent); }
        }

        /// <summary>
        /// Event for making the keyboard focus on password Entry
        /// </summary>
        private void loginCompletedEvent()
        {
            Entry entryPassword = m_view.FindByName<Entry>("txtPassword");
            entryPassword.Focus();
        }

希望这能解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM