假设我有一个SVG元素,如下所示。如何添加onClickListener?为SVG元素设置OnClickListener
1
A
回答
0
万一某人的兴趣它是如何做...
try {
InputStream inputStream = getClass().getResourceAsStream("/svg/sphere1.svg");
_image = (SVGImage)SVGImage.createImage(inputStream, null);
_animator = SVGAnimator.createAnimator(_image, "net.rim.device.api.ui.Field");
_document = _image.getDocument();
_svg123 = (SVGElement)_document.getElementById("123");
}
catch (IOException e) { e.printStackTrace(); }
Field _svgField = (Field)_animator.getTargetComponent();
_svgField.setBackground(blackBackground);
add(_svgField);
_svg123.addEventListener("click", this, false);
_svg123.addEventListener("DOMFocusIn", this, false);
_svg123.addEventListener("DOMFocusOut", this, false);
}
public void handleEvent(Event evt) {
if(_svg123 == evt.getCurrentTarget() && evt.getType() == "click"){ Dialog.alert("You clicked 123"); }
if(_svg123 == evt.getCurrentTarget() && evt.getType() == "DOMFocusIn") { ((SVGElement) _document.getElementById("outStroke123")).setTrait("fill", "#FF0000"); }
if(_svg123 == evt.getCurrentTarget() && evt.getType() == "DOMFocusOut") { ((SVGElement) _document.getElementById("outStroke123")).setTrait("fill", "#2F4F75"); }
}
2
我要去猜你意思是FieldChangeListener
而不是OnClickListener
(错误的平台)。 SVGImage
不是RIM开发对象的一部分,所以很不幸你不能。任何能够拥有FieldChangeListner
的东西都必须是net.rim.device.api.ui.Field
类的子类。
相关问题
- 1. 将onClickListener设置为editText
- 2. 如何设置顶级svg元素的位置?
- 3. 锁元素的SVG元素
- 4. 设置onclicklistener在recyclerview
- 5. 设置onclicklistener片段
- 6. 设置一个OnClickListener
- 7. SVG OPTION元素
- 8. 设置元素
- 9. 在div元素中使用拉斐尔SVG元素设置动画文本
- 10. 如何将OnClickListener设置为旋转ImageView?
- 11. InnerSVG在IE11中为SVG元素为空
- 12. 拖SVG元素到新的位置
- 13. 用D3异步设置svg元素属性
- 14. SVG文本锚定设置使文本元素移动
- 15. 如何设置SVG的背景颜色<image>元素
- 16. 如何设置SVG子元素的属性?
- 17. 如何设置组中的svg元素的转换原点?
- 18. 请与SVG元素
- 19. SVG遮罩元素
- 20. 定位SVG元素
- 21. 替换svg元素
- 22. SVG路径元素
- 23. 如何获取HTML5 SVG元素中所有元素的位置
- 24. 设置CSS元素
- 25. SVG <g>元素大小设置为零,尽管它有孩子
- 26. 如何将ID属性设置为使用C3.js创建的SVG元素?
- 27. onClickListener()的设置方式
- 28. 如何设置onClickListener上RecyclerView
- 29. onClickListener在Activity上设置
- 30. Svg文本元素被另一个svg元素重叠
嗯......好了,那么有没有一种方法来检测一个SVG元素上的点击? – Roger
你可以看看http://supportforums.blackberry.com/t5/Java-Development/SVG-BitmapField/td-p/677495他们做了一些转换,并使用了一个'BitmapField',它可以有一个'FieldChangeListener ' – jprofitt