{ "id": "75915", "key": "TIMOB-4350", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "21249", "name": "Release 10.2.0", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-11-02T01:24:19.000+0000", "created": "2011-06-08T09:58:37.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "ImageView", "android", "pinch", "scale", "zoom" ], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" } ], "issuelinks": [ { "id": "59326", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "155412", "key": "TIMOB-20539", "fields": { "summary": "Android: Pinch Zooming feature request.", "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": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-11-02T01:24:19.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": "*Summary:*\r\nUpdate {{Ti.UI.ImageView}} to support pinch-zoom and double-tap zoom support.\r\n\r\nRemove usage of deprecated Java [ZoomControls|https://developer.android.com/reference/android/widget/ZoomControls] widget and use [ScaleGestureDetector|https://developer.android.com/reference/android/view/ScaleGestureDetector] instead.\r\n\r\n*To-Do:*\r\nAndroid's {{Ti.UI.ImageView}} already has an [enableZoomControls|https://titaniumsdk.com/api/titanium/ui/imageview.html#enablezoomcontrols] property which shows the [ZoomControls|https://developer.android.com/reference/android/widget/ZoomControls] widget showing +/- buttons. Nobody uses this UI widget anymore. We should continue to support the \"enableZoomControls\" property, but re-purpose it to use the [ScaleGestureDetector|https://developer.android.com/reference/android/view/ScaleGestureDetector] instead.\r\n\r\n*Parity Issue:*\r\nOn iOS, pinch-zooming an {{ImageView}} is implemented via a {{ScrollView}} by setting its [maxZoomScale|https://titaniumsdk.com/api/titanium/ui/scrollview.html#maxzoomscale] to a value greater than {{1.0}}. Unfortunately, this is a parity issue between the 2 platforms.\r\n\r\n*Example Code:*\r\n{code:javascript}\r\nconst window = Ti.UI.createWindow();\r\nwindow.add(Ti.UI.createImageView({\r\n\timage: \"https://raw.githubusercontent.com/appcelerator/titanium_mobile/master/tests/Resources/ExifRotate270.jpg\",\r\n\tscalingMode: Ti.Media.IMAGE_SCALING_ASPECT_FIT,\r\n\tenableZoomControls: true,\r\n\twidth: Ti.UI.FILL,\r\n\theight: Ti.UI.FILL,\r\n}));\r\nwindow.open();\r\n{code}\r\n\r\n*Helpdesk Ticket:*\r\nhttp://appc.me/APP-121155 http://appc.me/APP-422217 http://appc.me/APP-768251\r\n", "attachment": [], "flagged": false, "summary": "Android: Update ImageView with pinch-zoom and double-tap zoom support", "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": null, "comment": { "comments": [ { "id": "162808", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "Bumped to \"Next Release\".", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2011-08-15T08:19:45.000+0000", "updated": "2011-08-15T08:19:45.000+0000" }, { "id": "417556", "author": { "name": "yakup.kalin", "key": "yakup.kalin", "displayName": "Yakup Kalin", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi guys, is this feature, zoom & double tap, mentioned within this ticket still on the roadmap?", "updateAuthor": { "name": "yakup.kalin", "key": "yakup.kalin", "displayName": "Yakup Kalin", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-18T09:19:26.000+0000", "updated": "2017-04-18T09:19:26.000+0000" }, { "id": "426168", "author": { "name": "AppDev", "key": "appdev", "displayName": "AppDev", "active": true, "timeZone": "Europe/Berlin" }, "body": "I don't think this is on any roadmap after no reaction in almost 6 years. To be fair it is not easily available in stock Android either. Would be a great feature still, for parity and as a sale argument.", "updateAuthor": { "name": "AppDev", "key": "appdev", "displayName": "AppDev", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-08-08T13:03:17.000+0000", "updated": "2017-08-08T13:03:17.000+0000" }, { "id": "459136", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/13146", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-10-26T00:36:44.000+0000", "updated": "2021-10-26T00:36:44.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }