PlayN的原生输入文本

时间:2013-02-25 21:53:46

标签: java playn tripleplay

是否有创建打开设备目标本机键盘的输入文本? (来自iOS和Android设备的底部屏幕)。

我试过

tripleplay.ui.Field field = new Field();

但它只显示一个带有原生文本字段的弹出窗口。

谢谢

2 个答案:

答案 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);

其中platformIOSPlatform返回的IOSPlatform.register

所有这些都有线,然后Field将自动使用iOS上的本机文本字段实现。

另外需要注意的一点是:本机文本字段仅在编辑文本时显示本机文本字段。完成文本编辑后,将删除本机字段,并使用标准TriplePlay字段显示文本的当前值。

如果这会导致文本奇怪的移动,因为渲染略有不同,您可以使用Field.FULLTIME_NATIVE_FIELD样式始终保留原生文本字段。