c# - 即使Android本机键盘在屏幕上统一可见,如何单击UI按钮
问题描述
我正在设置一个登录页面,它有一个 TMP 输入字段和一个按钮(登录)(两者都位于屏幕顶部)。当单击该输入字段时,它会打开 android 本机键盘,在用户在该字段上输入他们的信息后,他们正在单击登录按钮并等待响应。这里发生的情况是,在他们输入详细信息后,他们在 android 本机键盘外单击并在登录按钮上(这都是单击而不是两次不同的单击),它关闭了 android 本机键盘,但不会触发登录按钮。但是用户不知道,所以请帮助我。
我需要的是:
如果 android 本机键盘打开并且用户单击登录按钮,它需要第一次自己工作。谢谢你。
下面的代码是我尝试过的,但如果打开键盘,它就不起作用。
if (Input.GetMouseButtonDown(0))
{
PointerEventData pointerData = new PointerEventData(EventSystem.current);
pointerData.position = Input.mousePosition;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(pointerData, results);
if (results.Count > 0)
{
//WorldUI is my layer name
if (results[0].gameObject.layer == LayerMask.NameToLayer("UI"))
{
string dbg = "Root Element: {0} \n GrandChild Element: {1}";
Debug.Log(string.Format(dbg, results[results.Count - 1].gameObject.name, results[0].gameObject.name));
Debug.Log("Root Element: "+results[results.Count-1].gameObject.name);
objectName.text = results[results.Count - 1].gameObject.name.ToString();
//Debug.Log("GrandChild Element: "+results[0].gameObject.name);
results.Clear();
}
}
}
解决方案
推荐阅读
- typescript - 如何让 TypeScript 生成一个 CommonJS 有效的模块?
- c++ - 删除类复制构造函数时无法使用等号表示法使用类构造函数
- powershell - 如何检查命令的输出是否包含“错误”?
- oozie - 有人可以告诉我为什么跟随 Oozie 协调员循环运行吗
- python-3.x - 如何将列表中的所有数字更改为具有相同数量的数字 - Python
- swift - 如何将韩语单词拆分为其组成部分?
- sql - 如何将查询转换为 HQL?
- rebus - 向 Rebus 注册 IErrorHandler 时出错
- java - 在 Android 中使用 HttpPost 发送承载令牌
- ruby-on-rails - 如何使用 Rails 6/Zeitwerk 在 Rails 初始化程序中预加载关注点?