2013-02-25 59 views
1

是否有創建打開設備目標的本地鍵盤的輸入文本? (從iOS和Android設備的底部屏幕)。帶PlayN的原生輸入文本

我試圖

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

但它只能顯示一個彈出了一個原生文本字段。

謝謝

回答

1

TriplePlay中有一個名爲NativeTextField的實驗性新API,可用於覆蓋具有正確位置和尺寸的平臺原生文本字段,以便它看起來是您的TriplePlay UI的一部分。當用戶點擊它以使其聚焦時,會顯示OS鍵盤,並且文本輸入與原生應用程序中的正常操作相同。

目前只有iOS的一個實現,但最終會有一個Android實現。

包含了三網合一,ios.jar在ios/pom.xml像這樣:

<dependency> 
    <groupId>com.threerings</groupId> 
    <artifactId>tripleplay-ios</artifactId> 
    <version>${playn.version}</version> 
</dependency> 

,然後調用添加到您的Main.cs文件:

 IOSTPPlatform.register(platform); 

其中platformIOSPlatform.register返回IOSPlatform

隨着所有這些接線,然後Field將自動使用iOS上的原生文本字段實現。

還有一點需要注意:原生文本字段只是在編輯文本時顯示原生文本字段。文本編輯完成後,本地字段將被刪除,標準的TriplePlay字段將用於顯示文本的當前值。

如果由於渲染稍有不同,導致文本發生奇怪的偏移,您可以使用Field.FULLTIME_NATIVE_FIELD樣式保留原文文本字段。

+0

非常感謝你,我不能部署到iOS(我需要購買相對昂貴的lisence),當我這樣做時,我會試一試。 – 2013-03-06 23:17:33

+0

您至少可以在iOS模擬器中測試它,它將演示適當的原生文本字段行爲。 – samskivert 2013-03-06 23:45:42

+0

好點..再次感謝邁克爾 – 2013-03-06 23:57:23

2

我affraid沒有辦法做到這一點使用Field類。有關更多詳細信息,請參見此answer

+0

感謝您的回放..我看到帖子,並認爲它已過時(這是一歲)。是否有另一種方式來做到這一點(除了使用Field類)? – 2013-02-25 22:24:15