{ "id": "124772", "key": "TIMOB-16193", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": [], "resolution": null, "resolutiondate": null, "created": "2014-01-14T13:40:13.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "android", "animation", "rotate", "transform" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:21.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": " h2. Problem\r\n\r\nOn Android rotating and resizing an object with one animation is not possible, only one effect at a single time seems to be allowed (rotating OR resizing, not both of them). Up until version 3.2.0 I used a module (https://github.com/billdawson/ti-android-animation) that is now integrated right into the Titanium SDK and therefore can't be included any more (see: http://developer.appcelerator.com/question/160709/studio-320-with-billdawson-animation-module). Nevertheless, the desired animation is not possible. It works on iOS though.\r\n\r\nh2. Test case\r\n\r\n{code:lang=javascript|title=app.js}\r\nvar win = Ti.UI.createWindow();\r\nvar view = Ti.UI.createView({\r\n\tbackgroundColor: 'red',\r\n\twidth: 100,\r\n\theight: 100\r\n});\r\nview.addEventListener('click', doAnimation);\r\nwin.add(view);\r\nwin.open();\r\n\r\nfunction doAnimation() {\r\n\tvar _2DMatrix = Ti.UI.create2DMatrix();\r\n\r\n\tvar animation = Ti.UI.createAnimation({\r\n\t\ttransform: _2DMatrix.rotate(100),\r\n\t\tduration: 2000,\r\n\t\twidth: 300,\r\n\t\theight: 300\r\n\t});\r\n\r\n\tview.animate(animation);\r\n}\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: Animation - not possible to rotate and resize an object simultaneously", "creator": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Titanium SDK version: 3.2.0,2013/12/20 10:57,d9182d6\r\nPlatform & version: Android 4.3\r\nDevice Details: Samsung Galaxy Nexus\r\nHost Operating System: OS X 10.9.1", "comment": { "comments": [ { "id": "288231", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "You should be able to achieve the same behavior using scale function. Can you please try out the following code?\n\n{code}\nvar win = Ti.UI.createWindow({\n backgroundColor:'green'\n});\n \nvar box = Ti.UI.createView({\n backgroundColor : 'red',\n height : '100',\n width : '100'\n });\n \n box.addEventListener('click', function() {\n var matrix = Ti.UI.create2DMatrix();\n matrix = matrix.scale(2, 2);\n matrix = matrix.rotate(90);\n \n var a = Ti.UI.createAnimation({\n transform : matrix,\n duration : 2000,\n autoreverse : true,\n repeat : 3\n });\n box.animate(a);\n });\n win.add(box);\nwin.open();\n{code}", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-15T06:07:02.000+0000", "updated": "2014-01-15T06:07:02.000+0000" }, { "id": "288232", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Moving this ticket to engineering as I can reproduce the reported issue on Android but not on iOS. Note that there is a work around by using the scale method but the reporter's code should work with both iOS and Android.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-15T06:11:59.000+0000", "updated": "2014-01-15T06:11:59.000+0000" }, { "id": "288251", "author": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "body": "I can confirm that the scale function is a valid workaround for this issue.", "updateAuthor": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-01-15T11:59:59.000+0000", "updated": "2014-01-15T11:59:59.000+0000" }, { "id": "322742", "author": { "name": "jithinv@exalture.com", "key": "jithinv@exalture.com", "displayName": "jithinpv", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Issue reproduces in Android, works fine in iOS\r\n\r\nTitanium SDK version 3.4.0 master, 3.2.0.GA\r\nTitanium Studio, build: 3.3.0.201407100905\r\nTitanium Command-Line Interface\r\nCLI version 3.3.0, \r\nAndroid device : Motorola Moto G, Android version : 4.4.4\r\niOS simulator : iPhone Retina (3.5-inch), iOS 7.0.3\r\n", "updateAuthor": { "name": "jithinv@exalture.com", "key": "jithinv@exalture.com", "displayName": "jithinpv", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-10T07:07:45.000+0000", "updated": "2014-09-10T07:07:45.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }