- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个应用程序(适用于 iOS 和 Android),其中我需要允许用户从图库中选择照片并通过在图像上绘图来圈出某些项目。一旦用户完成绘制,系统就会提示他在弹出窗口中为该项目命名。命名项目后,该项目将添加到项目表中,并且箭头会自动连接圆圈和项目。照片和项目都有单独的表格。
我使用Ti.Paint进行绘图,但它只支持通过手指动态(手动)绘图。该模块没有任何方法以编程方式绘制直线、圆形等形状。此外,它不提供触摸事件,因此我无法检测用户何时停止绘图。然后我使用了Ti.Canvas,但它只支持静态绘图,即用户不能用手指动态绘图,而且它只支持iOS。我在两天内尝试了很多触摸事件来做到这一点,但没有成功。这是我使用 Ti.Canvas 进行触摸绘图的代码:
canvas.addEventListener('touchstart',function(e) {
canvas.begin();
canvas.beginPath();
canvas.moveTo(e.x,e.y);
})
canvas.addEventListener('touchmove',function(e) {
canvas.lineTo(e.x,e.y);
canvas.stroke();
})
canvas.addEventListener('touchend',function(e) {
canvas.commit();
})
但不幸的是这不起作用。有人可以告诉我如何解决这个问题吗?是否存在一些模块或库支持静态(编程)和手动(通过触摸)绘图。我将非常感激。谢谢。
最佳答案
我知道我有一个使用 touchend 的例子。在这个示例代码中,在 IOS 和 Android 上的操作可能不一样,有一个 touchend 的示例。 http://developer.appcelerator.com/blog/2010/05/building-an-advanced-transaction-ui-with-titanium.html
Ti.Paint 模块的源代码已可用,您可以向其中添加所需的功能。 https://github.com/appcelerator/titanium_modules/tree/master/paint
如果您不想走这条路,有一个 Canvas 模块可以让您创建线条,尽管我还没有测试过它。这似乎是 IOS 特定的。 https://github.com/appcelerator/titanium_modules/tree/master/canvas/mobile/ios
对于Android,看起来有一个模块。 https://marketplace.appcelerator.com/apps/5941?494596078
所以你有一些选择可以考虑。
关于javascript - 钛合金静态和动态绘图/绘画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543734/
我即将开始一个新的钛项目。到目前为止,我所编写的内容现在被认为是“经典项目”(在 Alloy 之前我就一直在编写 Titanium 应用程序)。 我想知道是否值得为我的新项目切换到 Alloy。我知道
我对钛合金相当陌生,过去 2 周我一直在深入研究文档和问答,以弄清楚如何设置打开窗口的动画,但没有一个解决方案对我有用或只是部分有用。 这就是我到目前为止的进展 - slide_in_up 正在运行,
我有一个使用 Alloy 框架在 Titanium SDK 3.02 中构建的项目。它是一个选项卡式应用程序,我想通过 tab1 中的按钮更改 tab2 的 View tab1.xml ...
我正在尝试将数据从 Appcelerator 云服务传递到 Backbone 模型。我找不到有关如何执行此操作的文档... 下面是我的模型文件的配置: exports.definition = {
哪个是开发跨平台应用程序的最佳框架。尤其是安卓和iphone。我已经浏览了互联网上的评论,但这些评论似乎很旧。我相信 Titanium 和 Rhodes 在过去几年中都得到了很大的发展。 最佳答案 基
我似乎在更新 Titanium Appcelerator Alloy 中的对象时遇到问题, 我基本上希望能够将表格行添加到我当前所在的不同 Controller / View 中的表格中......希
我刚刚开始使用钛合金编写代码。之前通过许多不同的资源学习过 JavaScript、HTML 和 CSS,我对 Titanium (Appcelerator) 版本的样式表有点困惑。 Titanium
所以我目前有一个带有 View (id="newPhoto") 的窗口,我在其中放置了上一步中的图像。在这个 newPhoto-view 上,我通过 css 放置一个新 View (id="conte
我使用的是 Titanium 版本 3.1.3 和合金框架。我在我的应用程序中实现了操作栏;但在其中包含选项卡组的屏幕中,操作栏中缺少标题。只有图标显示在其中。从这里 - https://jira.a
我正在使用 Appcelerator 的 Titanium Alloy 开发一个应用程序,该应用程序在屏幕底部有一个选项卡组,在屏幕顶部有一个工具栏。这些都将在登录后出现,并且在注销之前不会更改。我已
我在学习Codestrong 2012 app并尝试使其在 SDK 3.1.3 上运行。 我认为 xml View 应该有唯一的 id,但我发现了这个: //main.xml
在钛合金中,我希望将 View 从 0 的高度设置为“自动”或 Ti.UI.SIZE 的高度。 . View 包含一个标签,其中包含可以跨越多行的不同数量的文本,所以我需要 View 动画到它需要的高
我有一个 TabbedBar,其中包含标签,其中有 Label,我需要通过编码在 .js 文件中更改其启用属性。我尝试过设置该特定标签的 id 并已使用。 .js 文件中的 $.lblProf.ena
我需要关闭 windows2 才能打开 windows3。我有下一个代码:我是钛初学者,请帮助我。 //Windows1.XML
最近我用appcelerator安装了一个新环境Linux。 编译 projetc 时遇到问题: “[错误] V8Exception:/alloy/controllers/index.js:1 处发生
我有一个名为 overlay.xml 的钛合金 View ,它没有 Controller 。我在另一个名为 episode.js 的 Controller 中创建它,并将其添加到 episode.xm
以下内容填满整个屏幕: ... 填充属性的描述如下:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI-property-F
我是一名优秀的程序员,十分优秀!