{ "id": "92678", "key": "TIMOB-9341", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13404", "description": "Sprint 2012-12 Core", "name": "Sprint 2012-12 Core", "archived": true, "released": true, "releaseDate": "2012-06-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-06-06T21:56:59.000+0000", "created": "2012-06-01T15:13:30.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core", "module_scrollview", "parity", "qe-testadded" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [ { "id": "17593", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "92217", "key": "TIMOB-9206", "fields": { "summary": "Android: Scroll View Touch Listeners Prevent Scrolling", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "18767", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "95041", "key": "TIMOB-9955", "fields": { "summary": "Android: ScrollView with a wrap view becomes unscrollable on android Ti 2.1", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "23061", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "100321", "key": "TIMOB-11820", "fields": { "summary": "Android: ScrollableView in ScrollView is not working", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "26245", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "110099", "key": "TIMOB-12842", "fields": { "summary": "2D image transforms are inconsistent between iOS and Android", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-03-01T03:18:21.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h1. Feature\r\niOS supports a \"canCancelEvents\" property on scroll views to let you control if events are cancelled when a scroll view scrolls.\r\n\r\nh2. Expected Behavior\r\nIt should behave as iOS does. When \"canCancelEvents\" is false, touchCancel shouldn't fire when scrolling the scroll view. But if \"canCancelEvents\" is true, then use the existing behavior of canceling a touch after moving enough in a scrollable direction.\r\n\r\n... Note that canCancelEvents is presently broken on iOS: [TIMOB-7893].\r\n\r\nh2. Reproduction\r\nDrop the following in an app.js. It adds a vertically scrollable list of draggable rectangles. On iOS, once [TIMOB-7893] gets fixed, you can drag them horizontally. You can also scroll vertically without interrupting the drag. On Android, any vertical movement cancels the scroll.\r\n{code:title=app.js}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar status = Ti.UI.createLabel({\r\n text: ' ', textAlign: 'center',\r\n zIndex: 1,\r\n right: 0, bottom: 0, left: 0,\r\n height: 60,\r\n backgroundColor: 'black',\r\n color: 'white'\r\n});\r\nwin.add(status);\r\n\r\nvar scroll = Ti.UI.createScrollView({\r\n scrollType: 'vertical',\r\n contentHeight: 3010,\r\n canCancelEvents: false,\r\n bottom: 60\r\n});\r\nvar width = 150, height = 90;\r\nfor (var i = 0; i < 30; i++) {\r\n scroll.add(Ti.UI.createLabel({\r\n draggable: true,\r\n text: 'Drag Me Horizontally ' + (i + 1), textAlign: 'center',\r\n color: '#000',\r\n top: i * 100 + 10,\r\n width: width, height: height,\r\n backgroundColor: '#eee'\r\n }));\r\n}\r\nscroll.addEventListener('touchstart', curry('Touch Start'));\r\nscroll.addEventListener('touchmove', curry('Touch Move'));\r\nscroll.addEventListener('touchcancel', curry('Touch Cancel'));\r\nscroll.addEventListener('touchend', curry('Touch End'));\r\nwin.add(scroll);\r\nwin.open();\r\n\r\nfunction curry(eventName) {\r\n return function (evt) {\r\n if (evt.source && evt.source.draggable) {\r\n status.text = eventName + ' at { x: ' + (evt.x | 0) + ', y: ' + (evt.y | 0) + ' }';\r\n var global = evt.source.convertPointToView({ x: evt.x, y: evt.y }, scroll);\r\n evt.source.left = global.x - width / 2;\r\n }\r\n }\r\n}\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: Support Scroll View canCancelEvents", "creator": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "environment": "Titanium SDK version: 2.1.0 timestamp=06/01/12 12:55 githash=02511a2\r\nAndroid EPIC 4G running Android 2.3.7", "comment": { "comments": [ { "id": "197516", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR ready: https://github.com/appcelerator/titanium_mobile/pull/2334", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-06T09:53:25.000+0000", "updated": "2012-06-06T09:53:25.000+0000" }, { "id": "198048", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing issue\r\n\r\nTested with Ti Studio build 2.1.0.201206081630\r\nTi Mobile SDK 2.1.0.v20120608174150 hash r08baf035\r\nOSX Lion 10.7.3\r\nNexus S OS 4.0.4\r\n\r\nWhen scrolling the rectangles the larger scroll view doesn't scroll", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-11T13:13:26.000+0000", "updated": "2012-06-11T13:13:26.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }