{ "id": "124201", "key": "TIMOB-16087", "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": [ { "id": "15821", "description": "2014 Sprint 02", "name": "2014 Sprint 02", "archived": true, "released": true, "releaseDate": "2014-01-31" }, { "id": "15823", "description": "2014 Sprint 02 API", "name": "2014 Sprint 02 API", "archived": true, "released": true, "releaseDate": "2014-01-31" }, { "id": "15971", "description": "Release 3.2.3", "name": "Release 3.2.3", "archived": false, "released": true, "releaseDate": "2014-04-30" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-01-22T22:21:52.000+0000", "created": "2013-12-26T21:23:14.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "android", "module_animation", "parity", "qe-closed-3.2.3", "qe-testadded", "regression" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "34003", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "123400", "key": "TIMOB-15951", "fields": { "summary": "Android: Animating a child view in vertical layout no longer works correctly", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-04-18T20:25:26.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": "Animations that worked in 3.1.X on Android have now changed behavior and broken pre-existing UX. There are two problems I've noticed thus far:\r\n\r\n1) Content inside of an animating container does not behave as expected\r\n\r\n2) Animating views do not properly push aside other views inside the same container, e.g. with layout horizontal (duplicate of TIMOB-15951)\r\n\r\nSample code, for TABLET only, is available here: https://github.com/mcongrove/TitaniumAnimationDemo\r\n\r\nAfter installing the application on an Android tablet, try the following steps:\r\n\r\n1) At the top-right of the application, swipe down on the \"Alert: TiDev.io Launches\" black bar. This should act as a drawer to display new content, but instead the black bar view simply stretches.\r\n\r\n2) On the first large content box (grey), tap the full-screen button in the top-right. Instead of pushing the following boxes, it instead expands behind them. It also stretches all content inside the box.\r\n\r\nTo see how any of this SHOULD work, run the application on an iPad.", "attachment": [], "flagged": false, "summary": "Android: Content inside of an animating container does not behave as expected", "creator": { "name": "matthewcongrove", "key": "matthewcongrove", "displayName": "Matthew Congrove", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "matthewcongrove", "key": "matthewcongrove", "displayName": "Matthew Congrove", "active": true, "timeZone": "America/Chicago" }, "environment": "TiMob 3.2.0\r\nAndroid 4.1", "comment": { "comments": [ { "id": "285892", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Matt, is issue #2 TIMOB-15951?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-26T21:26:23.000+0000", "updated": "2013-12-26T21:26:23.000+0000" }, { "id": "285894", "author": { "name": "matthewcongrove", "key": "matthewcongrove", "displayName": "Matthew Congrove", "active": true, "timeZone": "America/Chicago" }, "body": "Ingo, yes, it looks to be the same as the second issue I've reported. Sorry, I didn't see that one in my search :)", "updateAuthor": { "name": "matthewcongrove", "key": "matthewcongrove", "displayName": "Matthew Congrove", "active": true, "timeZone": "America/Chicago" }, "created": "2013-12-26T21:30:19.000+0000", "updated": "2013-12-26T21:30:19.000+0000" }, { "id": "285896", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "No problem. I'm glad, as otherwise I was going to ask you to file two separate tickets. :) I'll repurpose this one for issue #1.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-26T21:33:28.000+0000", "updated": "2013-12-26T21:33:28.000+0000" }, { "id": "286532", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Test case:\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: \"white\"\r\n});\r\n \r\nvar bBig = false;\r\n \r\nvar btn1 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - vertical layout',\r\n top: 0\r\n} );\r\n \r\nvar btn1_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - vertical layout',\r\n top: '40dp'\r\n} );\r\n \r\nvar parent1 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 0,\r\n height: 100,\r\n width: 100,\r\n backgroundColor: 'yellow',\r\n layout: 'vertical'\r\n});\r\n \r\nvar v1 = Ti.UI.createView({\r\n height: 30,\r\n width: 50,\r\n top: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v1_1 = Ti.UI.createView({\r\n //height: '50%',\r\n //width: '50%',\r\n height: 15,\r\n width: 25,\r\n backgroundColor: 'green'\r\n});\r\nv1.add(v1_1);\r\n \r\nvar v2 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n top: 20,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn1.addEventListener( 'click', function( e ) {\r\n if( !bBig ){\r\n bBig = true;\r\n var animation1 = Ti.UI.createAnimation({\r\n height:70,\r\n width: 80,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n } else {\r\n bBig = false;\r\n var animation1 = Ti.UI.createAnimation({\r\n height:30,\r\n width: 50,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n }\r\n} );\r\n \r\nvar bBig_2 = false;\r\nbtn1_2.addEventListener( 'click', function( e ) {\r\n if( !bBig_2 ){\r\n bBig_2 = true;\r\n var animation1 = Ti.UI.createAnimation({\r\n top: 40,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n } else {\r\n bBig_2 = false;\r\n var animation1 = Ti.UI.createAnimation({\r\n top: 5,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n }\r\n} );\r\n \r\n \r\nwin.add( btn1 );\r\nwin.add( btn1_2 );\r\nwin.add( parent1 );\r\n \r\nparent1.add( v1 );\r\nparent1.add( v2 );\r\n \r\n//******************************************************\r\nvar bBig1 = false;\r\n \r\nvar btn2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - horizontal layout',\r\n top: '80dp',\r\n} );\r\n \r\nvar btn2_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - horizontal layout',\r\n top: '120dp',\r\n} );\r\n \r\nvar parent2 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 105,\r\n height: 100,\r\n width: 120,\r\n backgroundColor: 'yellow',\r\n layout: 'horizontal'\r\n});\r\n \r\nvar v3 = Ti.UI.createView({\r\n height: 50,\r\n width: 30,\r\n left: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v3_1 = Ti.UI.createView({\r\n // height: '50%',\r\n // width: '50%',\r\n height: 25,\r\n width: 15,\r\n backgroundColor: 'green'\r\n});\r\nv3.add(v3_1);\r\n \r\nvar v4 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 20,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn2.addEventListener( 'click', function( e ) {\r\n if( !bBig1 ){\r\n bBig1 = true;\r\n var animation3 = Ti.UI.createAnimation({\r\n width:70,\r\n height: 70,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n } else {\r\n bBig1 = false;\r\n var animation3 = Ti.UI.createAnimation({\r\n width:30,\r\n height: 50,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n }\r\n} );\r\n \r\nvar bBig1_2 = false;\r\nbtn2_2.addEventListener( 'click', function( e ) {\r\n if( !bBig1_2 ){\r\n bBig1_2 = true;\r\n var animation3 = Ti.UI.createAnimation({\r\n left: 40,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n } else {\r\n bBig1_2 = false;\r\n var animation3 = Ti.UI.createAnimation({\r\n left: 5,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n }\r\n} );\r\n \r\nwin.add( btn2 );\r\nwin.add( btn2_2 );\r\nwin.add( parent2 );\r\n \r\nparent2.add( v3 );\r\nparent2.add( v4 );\r\n \r\n//******************************************************\r\nvar bBig2 = false;\r\n \r\nvar btn3 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - composite layout',\r\n top: '160dp',\r\n} );\r\n \r\nvar btn3_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - composite layout',\r\n top: '200dp',\r\n} );\r\n \r\nvar parent3 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 230,\r\n height: 100,\r\n width: 120,\r\n backgroundColor: 'yellow'\r\n});\r\n \r\nvar v5 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v5_1 = Ti.UI.createView({\r\n //height: '50%',\r\n //width: '50%',\r\n height: '25',\r\n width: '25',\r\n backgroundColor: 'green'\r\n});\r\nv5.add(v5_1);\r\n \r\nvar v6 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 60,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn3.addEventListener( 'click', function( e ) {\r\n if( !bBig2 ){\r\n bBig2 = true;\r\n var animation5 = Ti.UI.createAnimation({\r\n width: 80,\r\n height: 80,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n } else {\r\n bBig2 = false;\r\n var animation5 = Ti.UI.createAnimation({\r\n width: 50,\r\n height: 50,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n }\r\n} );\r\n \r\nvar bBig2_2 = false;\r\nbtn3_2.addEventListener( 'click', function( e ) {\r\n if( !bBig2_2 ){\r\n bBig2_2 = true;\r\n var animation5 = Ti.UI.createAnimation({\r\n left: 50,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n } else {\r\n bBig2_2 = false;\r\n var animation5 = Ti.UI.createAnimation({\r\n left: 5,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n }\r\n} );\r\n \r\nwin.add( btn3 );\r\nwin.add( btn3_2 );\r\nwin.add( parent3 );\r\n \r\nparent3.add( v5 );\r\nparent3.add( v6 );\r\n \r\nwin.open();\r\n{code}\r\n\r\nIn 3.2.0.GA, click \"Scaling Test\". The green view is scaled up/down along with the red view.\r\nIn 3.1.3.GA, click \"Scaling Test\". The green view keeps the same size while the red view is scaled up/down.", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-02T21:23:29.000+0000", "updated": "2014-01-02T21:26:12.000+0000" }, { "id": "286555", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The root issue is the children views are scaled up/down with the parent view even the dimensions of the children views are defined as absolute values (eg. \"50px\"). This is not our bug but a native Android behavior when using Honeycomb+ Property Animation which is introduced in 3.2.0. However, technically speaking, this is a regression.", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-02T23:58:48.000+0000", "updated": "2014-01-03T21:51:51.000+0000" }, { "id": "286629", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "If the developer wants to keep the size of the child view unchanged while the parent view is scaled, one workaround is to scale the child view to compensate the size change. For the above test case, we can use the workaround like:\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: \"white\"\r\n});\r\n \r\nvar bBig = false;\r\n \r\nvar btn1 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - vertical layout',\r\n top: 0\r\n} );\r\n \r\nvar btn1_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - vertical layout',\r\n top: '40dp'\r\n} );\r\n \r\nvar parent1 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 0,\r\n height: 100,\r\n width: 100,\r\n backgroundColor: 'yellow',\r\n layout: 'vertical'\r\n});\r\n \r\nvar v1 = Ti.UI.createView({\r\n height: 30,\r\n width: 50,\r\n top: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v1_1 = Ti.UI.createView({\r\n height: 15,\r\n width: 25,\r\n backgroundColor: 'green'\r\n});\r\nv1.add(v1_1);\r\n \r\nvar v2 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n top: 20,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn1.addEventListener( 'click', function( e ) {\r\n if( !bBig ){\r\n bBig = true;\r\n var animation1 = Ti.UI.createAnimation({\r\n height:70,\r\n width: 80,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n \r\n // For Android API level >= 11, we need to animate the child\r\n // view to keep the child size unchanged.\r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation1_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 15 * 30.0 / 70.0,\r\n\t\t\t\twidth : 25 * 50.0 / 80.0,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv1_1.animate(animation1_1);\r\n\t\t}\r\n\r\n } else {\r\n bBig = false;\r\n var animation1 = Ti.UI.createAnimation({\r\n height:30,\r\n width: 50,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n \r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation1_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 15,\r\n\t\t\t\twidth : 25,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv1_1.animate(animation1_1);\r\n\t\t}\r\n\r\n }\r\n} );\r\n \r\nvar bBig_2 = false;\r\nbtn1_2.addEventListener( 'click', function( e ) {\r\n if( !bBig_2 ){\r\n bBig_2 = true;\r\n var animation1 = Ti.UI.createAnimation({\r\n top: 40,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n } else {\r\n bBig_2 = false;\r\n var animation1 = Ti.UI.createAnimation({\r\n top: 5,\r\n duration: 300\r\n });\r\n v1.animate(animation1);\r\n }\r\n} );\r\n \r\n \r\nwin.add( btn1 );\r\nwin.add( btn1_2 );\r\nwin.add( parent1 );\r\n \r\nparent1.add( v1 );\r\nparent1.add( v2 );\r\n \r\n//******************************************************\r\nvar bBig1 = false;\r\n \r\nvar btn2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - horizontal layout',\r\n top: '80dp',\r\n} );\r\n \r\nvar btn2_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - horizontal layout',\r\n top: '120dp',\r\n} );\r\n \r\nvar parent2 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 105,\r\n height: 100,\r\n width: 120,\r\n backgroundColor: 'yellow',\r\n layout: 'horizontal'\r\n});\r\n \r\nvar v3 = Ti.UI.createView({\r\n height: 50,\r\n width: 30,\r\n left: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v3_1 = Ti.UI.createView({\r\n height: 25,\r\n width: 15,\r\n backgroundColor: 'green'\r\n});\r\nv3.add(v3_1);\r\n \r\nvar v4 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 20,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn2.addEventListener( 'click', function( e ) {\r\n if( !bBig1 ){\r\n bBig1 = true;\r\n var animation3 = Ti.UI.createAnimation({\r\n width:70,\r\n height: 70,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n \r\n // For Android API level >= 11, we need to animate the child\r\n // view to keep the child size unchanged.\r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation3_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 25 * 50.0 / 70.0,\r\n\t\t\t\twidth : 15 * 30.0 / 70.0,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv3_1.animate(animation3_1);\r\n\t\t}\r\n\r\n } else {\r\n bBig1 = false;\r\n var animation3 = Ti.UI.createAnimation({\r\n width:30,\r\n height: 50,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n \r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation3_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 25,\r\n\t\t\t\twidth : 15,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv3_1.animate(animation3_1);\r\n\t\t}\r\n\r\n }\r\n} );\r\n \r\nvar bBig1_2 = false;\r\nbtn2_2.addEventListener( 'click', function( e ) {\r\n if( !bBig1_2 ){\r\n bBig1_2 = true;\r\n var animation3 = Ti.UI.createAnimation({\r\n left: 40,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n } else {\r\n bBig1_2 = false;\r\n var animation3 = Ti.UI.createAnimation({\r\n left: 5,\r\n duration: 300\r\n });\r\n v3.animate(animation3);\r\n }\r\n} );\r\n \r\nwin.add( btn2 );\r\nwin.add( btn2_2 );\r\nwin.add( parent2 );\r\n \r\nparent2.add( v3 );\r\nparent2.add( v4 );\r\n \r\n//******************************************************\r\nvar bBig2 = false;\r\n \r\nvar btn3 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Scaling Test - composite layout',\r\n top: '160dp',\r\n} );\r\n \r\nvar btn3_2 = Ti.UI.createButton( {\r\n width : '90%',\r\n height : '40dp',\r\n title : 'Translation Test - composite layout',\r\n top: '200dp',\r\n} );\r\n \r\nvar parent3 = Ti.UI.createView({\r\n top: '250dp',\r\n left: 230,\r\n height: 100,\r\n width: 120,\r\n backgroundColor: 'yellow'\r\n});\r\n \r\nvar v5 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 5,\r\n backgroundColor: 'red'\r\n});\r\n \r\nvar v5_1 = Ti.UI.createView({\r\n height: '25',\r\n width: '25',\r\n backgroundColor: 'green'\r\n});\r\nv5.add(v5_1);\r\n \r\nvar v6 = Ti.UI.createView({\r\n height: 50,\r\n width: 50,\r\n left: 60,\r\n backgroundColor: 'blue'\r\n});\r\n \r\nbtn3.addEventListener( 'click', function( e ) {\r\n if( !bBig2 ){\r\n bBig2 = true;\r\n var animation5 = Ti.UI.createAnimation({\r\n width: 80,\r\n height: 80,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n \r\n // For Android API level >= 11, we need to animate the child\r\n // view to keep the child size unchanged.\r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation5_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 25 * 50.0 / 80.0,\r\n\t\t\t\twidth : 25 * 50.0 / 80.0,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv5_1.animate(animation5_1);\r\n\t\t}\r\n\r\n } else {\r\n bBig2 = false;\r\n var animation5 = Ti.UI.createAnimation({\r\n width: 50,\r\n height: 50,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n \r\n\t\tif (Ti.Platform.Android.API_LEVEL >= 11) {\r\n\t\t\tvar animation5_1 = Ti.UI.createAnimation({\r\n\t\t\t\theight : 25,\r\n\t\t\t\twidth : 25,\r\n\t\t\t\tduration : 300\r\n\t\t\t});\r\n\t\t\tv5_1.animate(animation5_1);\r\n\t\t}\r\n\r\n }\r\n} );\r\n \r\nvar bBig2_2 = false;\r\nbtn3_2.addEventListener( 'click', function( e ) {\r\n if( !bBig2_2 ){\r\n bBig2_2 = true;\r\n var animation5 = Ti.UI.createAnimation({\r\n left: 50,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n } else {\r\n bBig2_2 = false;\r\n var animation5 = Ti.UI.createAnimation({\r\n left: 5,\r\n duration: 300\r\n });\r\n v5.animate(animation5);\r\n }\r\n} );\r\n \r\nwin.add( btn3 );\r\nwin.add( btn3_2 );\r\nwin.add( parent3 );\r\n \r\nparent3.add( v5 );\r\nparent3.add( v6 );\r\n \r\nwin.open();\r\n{code}", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-03T21:26:41.000+0000", "updated": "2014-01-04T00:24:25.000+0000" }, { "id": "286934", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Using the above TestCode:\n\nAppc-Studio: 3.2.1.201401061716\nacs:1.0.11\nalloy:1.3.1-beta\nnpm:1.3.2\ntitanium:3.2.0\ntitanium-code-processor:1.1.0\nOsx: Maverick 10.9\nDevice:Nexus7(v4.4.2)\n\nIssue still exists in \n\nboth sdk build:3.2.1.v20140106195644 and 3.3.0.v20140106195650\n\nObserved Result:\nIn 3.1.3.GA, click \"Scaling Test\". The green view keeps the same size while the red view is scaled up/down.\nIn 3.2.0.GA,3.2.1.v20140106195644 and 3.3.0.v20140106195650 click \"Scaling Test\". \nThe green view is scaled up/down along with the red view.\n\n\n\n", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-07T10:07:43.000+0000", "updated": "2014-01-07T10:07:43.000+0000" }, { "id": "288374", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/5226\nFor FR, please follow the testing steps in TIMOB-15951, TIMOB-16087, TIMOB-15719, TIMOB-2373, TIMOB-13536.", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-16T00:13:10.000+0000", "updated": "2014-01-16T00:13:10.000+0000" }, { "id": "289446", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "3_2_X PR: https://github.com/appcelerator/titanium_mobile/pull/5245", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-23T18:25:15.000+0000", "updated": "2014-01-23T18:25:15.000+0000" }, { "id": "298174", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified the correct behavior of the red and the green views.\nMac osx 10.9.2 Mavericks\nTitanium SDK, build: 3.2.3.v20140320130134\nNode.JS Version: v0.10.13\nNPM Version: 1.3.2\n├── acs@1.0.14\n├── alloy@1.3.1\n├── npm@1.3.2\n├── titanium@3.2.1\n└── titanium-code-processor@1.1.0\nDevice:\nNexus 4 Android version 4.2", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-20T23:42:30.000+0000", "updated": "2014-03-20T23:42:30.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }