是否有创建打开设备目标本机键盘的输入文本? (来自iOS和Android设备的底部屏幕)。
我试过
tripleplay.ui.Field field = new Field();
但它只显示一个带有原生文本字段的弹出窗口。
谢谢
答案 0 :(得分:2)
我担心使用Field
类无法做到这一点。有关详细信息,请参阅此answer。
答案 1 :(得分:1)
TriplePlay中有一个名为NativeTextField
的实验性新API,可用于覆盖具有正确位置和尺寸的平台原生文本字段,以使其看起来是TriplePlay UI的一部分。当用户点击它以使其聚焦时,将显示OS键盘,并且文本输入的工作方式与本机应用程序中的正常工作方式相同。
目前只有iOS的实现,但最终将实现Android实现。
在ios/pom.xml
中加入tripleplay-ios.jar,如下所示:
<dependency>
<groupId>com.threerings</groupId>
<artifactId>tripleplay-ios</artifactId>
<version>${playn.version}</version>
</dependency>
然后添加对Main.cs
文件的调用:
IOSTPPlatform.register(platform);
其中platform
是IOSPlatform
返回的IOSPlatform.register
。
所有这些都有线,然后Field
将自动使用iOS上的本机文本字段实现。
另外需要注意的一点是:本机文本字段仅在编辑文本时显示本机文本字段。完成文本编辑后,将删除本机字段,并使用标准TriplePlay字段显示文本的当前值。
如果这会导致文本奇怪的移动,因为渲染略有不同,您可以使用Field.FULLTIME_NATIVE_FIELD
样式始终保留原生文本字段。