{ "id": "173692", "key": "TIMOB-27123", "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": "2019-05-31T15:53:09.000+0000", "priority": null, "labels": [ "android", "engSchedule", "sdk-7.5.2.GA" ], "versions": [ { "id": "20432", "name": "Release 8.0.1", "archived": false, "released": true, "releaseDate": "2019-05-15" } ], "issuelinks": [ { "id": "58630", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "175442", "key": "AC-6588", "fields": { "summary": "Android: View with borderRadius is not rotated correctly", "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" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "57795", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "170773", "key": "TIMOB-25661", "fields": { "summary": "Android: Glitchy rotation animation occurs with views with borders in Android 7.0 and above", "status": { "description": "This issue was once resolved, but the resolution was deemed incorrect. From here issues are either marked assigned or resolved.", "name": "Reopened", "id": "4", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "updated": "2020-08-17T19:11:55.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": "When a view has a borderRadius and is rotated it clips its children.\r\n\r\n\r\n{code:java}\r\nvar objMatrix = Ti.UI.create2DMatrix();\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: 'black',\r\n});\r\n\r\nvar vw_main = Ti.UI.createView({\r\n left: 0,\r\n top: 0,\r\n width: '100%',\r\n height: '100%',\r\n layout: 'vertical',\r\n});\r\nwin.add(vw_main);\r\n\r\n\r\nvar vw_rect1 = Ti.UI.createView({\r\n top: 20,\r\n width: 200,\r\n height: 300,\r\n borderRadius: 10,\r\n backgroundColor: 'red',\r\n});\r\nvw_main.add(vw_rect1);\r\n\r\nvar vw_rect2 = Ti.UI.createView({\r\n width: 150,\r\n height: 250,\r\n backgroundColor: 'green',\r\n});\r\nvw_rect1.add(vw_rect2);\r\n\r\nvar checkBox = Ti.UI.createSwitch({\r\n top: 10,\r\n value: true,\r\n style: Titanium.UI.Android.SWITCH_STYLE_CHECKBOX,\r\n title: 'Border Radius is enabled',\r\n //titleOn: 'Border Radius is enabled',\r\n //titleOff: 'Border Radius is not enabled',\r\n});\r\nvw_main.add(checkBox);\r\n\r\ncheckBox.addEventListener('change', function (e) {\r\n if (e.value) {\r\n vw_rect1.borderRadius = 5;\r\n checkBox.title = \"Border Radius is enabled\";\r\n }\r\n else {\r\n vw_rect1.borderRadius = 0;\r\n checkBox.title = \"Border Radius is not enabled\";\r\n }\r\n});\r\n\r\nvar slider = Titanium.UI.createSlider({\r\n top: 10,\r\n min: 0,\r\n max: 100,\r\n width: Ti.UI.FILL,\r\n value: 50\r\n});\r\n\r\nslider.addEventListener('change', function (e) {\r\n (vw_rect1).animate({\r\n transform: objMatrix.rotate(e.value * 10),\r\n duration: 0,\r\n });\r\n});\r\nvw_main.add(slider);\r\nwin.open();\r\n\r\n/*\r\nThe green view gets clipped when the red view has a borderRadius and is rotated.\r\nHowever if the borderRadius is set again then the clipping issue is not present.\r\nYou can view this behaviour by disabling the borderRadius and enabling it again using the checkBox.\r\n*/\r\n{code}", "attachment": [], "flagged": false, "summary": "Animating view with border radius clips its children", "creator": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Ti SDK 7.5.2 GA", "comment": { "comments": [ { "id": "448768", "author": { "name": "jnaher", "key": "jnaher", "displayName": "Jebun Naher", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hi [~pritish.george], Can you try using latest sdk and check if you experience the same? Let us know the update.\r\n\r\nThanks!", "updateAuthor": { "name": "jnaher", "key": "jnaher", "displayName": "Jebun Naher", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2019-06-02T06:45:31.000+0000", "updated": "2019-06-02T06:45:31.000+0000" }, { "id": "448801", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, I was able to reproduce the issue with SDK 8.0.1.GA. I see on the first run with the 'Border radius is enabled\" marked, the green view is clipped with the red view rotation. Now, after taking the mark out and again marking the box of 'Border radius is enabled\", now, the rotation of the red view doesn't cause the green view clipping. This is a valid issue. Moving to the TIMOB. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2019-06-03T23:02:25.000+0000", "updated": "2019-06-03T23:02:25.000+0000" }, { "id": "449869", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "[~pritish.george] It will be helpful if you can share some details about your environment - are you having the mentioned issue on a real device or an emulator and with what Android version were they running?", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-07-17T15:08:14.000+0000", "updated": "2019-07-17T15:08:26.000+0000" }, { "id": "449899", "author": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Yordan, I’ve tested the code on 8.0.2 GA on my Android device running Oreo. \r\nThe views get clipped when the view is rotated.\r\n", "updateAuthor": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-07-18T07:01:07.000+0000", "updated": "2019-07-19T06:48:48.000+0000" }, { "id": "450155", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "[~pritish.george] Would you be able to share the specifics of the device - brand and model?", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-07-30T14:27:57.000+0000", "updated": "2019-07-30T14:27:57.000+0000" }, { "id": "450156", "author": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Samsung Galaxy J7 Prime", "updateAuthor": { "name": "pritish.george", "key": "pritish.george", "displayName": "pritish.george", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-07-30T14:46:27.000+0000", "updated": "2019-07-30T14:46:27.000+0000" }, { "id": "450169", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is actually a bug on Google's end. Please see...\r\nhttps://issuetracker.google.com/issues/37123819\r\n\r\nThis issue has been brought up before here: [TIMOB-25661]\r\n\r\nWe don't currently have a solution since it's a confirmed bug in the Android OS. It's a bug with rounded clipping and animation. The only known work-around is to get rid of the border. Or use a 9-patch image for the background and display content inside of it (ie: avoid clipping content).", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-07-30T20:49:24.000+0000", "updated": "2019-07-30T20:49:24.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }