所有!
有没有办法以代号1构建自定义相机组件?
我用Google搜索并了解了PeerComponents,但不知道如何使用它。
我只想将它用作带有2个按钮的标签组件(拍照按钮和重拍图片按钮)
请为我提供一些小样本代码。最好的问候。
[UPDATE]
因为以下原因我需要这个。
首先,我需要用相机拍摄的方形图像,用户应该能够知道照片的拍摄方式。
这里有2个分辨率:
首先,如果我必须使用全屏相机,最好在相机视图上绘制或叠加方形矩形,以便用户知道将拍摄哪个区域。
其次,如果难以覆盖和绘图(或者应该使用本机代码),我需要一些相机区域的自定义组件,如PeerComponent。所以我想把它放在屏幕区域的任何地方作为方形矩形。然后,用户不需要任何叠加或绘制内容,因为它已经是正方形。
这就是我所需要的一切。
问候。
答案 0 :(得分:2)
是的,创建这样的组件当然是可能的,我们打算在将来的某个时刻创建一个组件。你可以打败我们。
首先,您应该熟悉本机接口的工作原理。这段视频是一个好的开始:
这一系列博客文章演示了如何在Android和iOS上将第三方SDK包装成代号。
https://www.codenameone.com/blog/integrating-3rd-party-native-sdks-part-1.html https://www.codenameone.com/blog/integrating-3rd-party-native-sdks-part-2.html https://www.codenameone.com/blog/integrating-3rd-party-native-sdks-part-3.html
虽然它没有包含PeerComponent的示例,但它有助于掌握流程。将对等组件添加到组合中实际上只需返回相应的" View"从本机界面输入。在Android上,这是android.view.View
,在iOS上它是UIView
,在Javascript中它是一个DOM元素,在UWP中它是一个FrameworkElement,在模拟器中,它是{{1} }。
此博客文章确实包含了一个对等组件的示例,但它的目标是UWP:
https://www.codenameone.com/blog/uwp-native-interfaces-mix-c-java.html
一旦掌握了材料,就应该看一下相关的例子。目前最完整的示例我知道实现本地对等方的cn1lib是Google Maps lib:
https://github.com/codenameone/codenameone-google-maps
您可以看到Android原生实施here和iOS原生实施here
您可能还想在Codename One中引用现有的图像捕获代码。
Android:https://github.com/codenameone/CodenameOne/blob/master/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java#L5788-L5811 https://github.com/codenameone/CodenameOne/blob/master/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java#L5701-L5714
虽然它使用意图来打开本机捕获对话框,但它可能不太相关。