如何在iOS / Android上创建文本框并处理MonoGame中的输入?

时间:2019-05-25 15:02:29

标签: c# xamarin.android xamarin.ios monogame

我希望人们可以在我的MonoGame iOS和Android应用程序中创建一个新帐户。我需要一个用于输入用户名,密码和恢复电子邮件地址的文本框(如果有人忘记了密码)。

  • 如何创建文本框?我是否应该制作一个白色的矩形精灵(Texture2D)和一个spriteFont来编写文本(例如用户名)? 还是有更好的方法来创建文本框?

  • 我如何确定是否有人用手指在空白文本框中轻击?我可以使用Rectangle.Intersects(TappRectangle)还是更好地做到这一点?

  • 在有人轻按文本框以便他们可以在文本框中输入用户名后,如何在iOS / Android上显示键盘?

  • 如何在键盘上敲击它们?

  • 是否可以保存/记住文本(登录数据),以便人们在启动我的应用程序时不必总是写文本?我希望文本框在启动应用程序时已经填充了登录凭据,然后只需点击登录按钮即可登录。

1 个答案:

答案 0 :(得分:0)

您可以使用KeyboardInput.Show(string WindowTitle, string Prompt, string Default, bool HidePassword = false)方法。

// Load saved data into the following variables:
var defaultUsername = "";
var defaultPassword = "";
var defaultEmail = "";

var username = await KeyboardInput.Show("Name", "What's your username?", defaultUsername);
var password = await KeyboardInput.Show("Password", "What's your Password?", defaultPassword, true);
var email = await KeyboardInput.Show("E-Mail", "What's your Email?", defaultEmail);

// validate and save if the values do not match the defaults above

这将显示三个单独的输入框,但可以处理提示以及弹出式键盘的显示和输入。

就保存数据而言:查看TitleContainer类。您可以使用标准文件I / O来读取和写入数据。