我在Xamarin.Forms中的应用程序中有一个包含一些字段的表单。我需要在android软键盘上提供文本“ Next” 然后点击“下一步”,我应该转到下一个字段。
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);
答案 0 :(得分:1)
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();
}
希望这可以解决您的问题。