{ "id": "63832", "key": "TIMOB-3200", "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": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2020-02-13T15:12:47.000+0000", "created": "2011-04-15T03:39:18.000+0000", "epic": { "id": 170945, "key": "TIMOB-25713", "name": "Support UI elements", "summary": "Android: Support UI elements", "color": { "key": "color_7" }, "done": false }, "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "api", "button" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [ { "id": "29212", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "115255", "key": "AC-3214", "fields": { "summary": "Radio Buttons", "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" } }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "59099", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "175960", "key": "TIMOB-28317", "fields": { "summary": "TiAPI: Add Ti.UI.OptionBar", "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": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "updated": "2021-01-16T03:20:30.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\nWe should add a radio button group like feature on all platforms (Android, iOS, and Windows) where a horizontal layout of buttons are displayed, but only one option can be selected at a time.\r\n\r\nOn Android and Windows, this is a built-in UI component that we should use.\r\nhttps://developer.android.com/guide/topics/ui/controls/radiobutton\r\n\r\nOn iOS, this should be implemented via a {{UISegmentedControl}}.\r\nhttps://developer.apple.com/design/human-interface-guidelines/ios/controls/segmented-controls\r\n\r\n*Recommend Solution:*\r\nShould be implemented in Titanium similar to {{Ti.UI.TabbedBar}}...\r\nhttps://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabbedBar\r\n\r\nThe idea is that the Titanium developer creates the \"group\" view, but does not have access to the individual buttons within the group. This will help make it more portable between Android and iOS.\r\n\r\nThe radio buttons will be created via a creation-only \"labels\" property, which is assigned an array of strings, just like how it works with {{Ti.UI.TabbedBar}} and {{Ti.UI.ButtonBar}}.\r\n\r\nWe should also support an \"index\" property to indicate which button is selected and the \"click\" event when a button has been clicked on. This is how it's implemented in {{Ti.UI.TabbedBar}} as well.\r\n\r\nThe layout should be horizontal by default. Especially since iOS' {{UISegmentedControl}} can only be displayed horizontally. Vertical layout support would be nice, but it is only natively supported on Android and Windows.\r\n\r\n*Future:*\r\nWe may also want to support the \"Choice Chips\" feature as shown in Google's material design below. New {{Chip}} and {{ChipGroup}} Java classes have been added to Google's Support Library version 28. This could be implemented via the view's \"style\" property in the future.\r\nhttps://material.io/design/components/chips.html\r\n", "attachment": [], "flagged": false, "summary": "Android: Add radio button group support", "creator": { "name": "ianhawes", "key": "ianhawes", "displayName": "Ian Hawes", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ianhawes", "key": "ianhawes", "displayName": "Ian Hawes", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "217232", "author": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "body": "Can't seem to find that we have a radio widget for Android in our docs, changed from bug to feature request.", "updateAuthor": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "created": "2012-08-31T13:48:42.000+0000", "updated": "2012-08-31T13:48:42.000+0000" }, { "id": "244928", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We don't want to implement it for iOS, but here's a discussion for doing so: http://stackoverflow.com/questions/4847296/best-radio-button-implementation-for-ios", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-04-01T17:51:25.000+0000", "updated": "2013-04-01T17:51:25.000+0000" }, { "id": "293130", "author": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "body": "PR : \r\nhttps://github.com/appcelerator/titanium_mobile/pull/5352", "updateAuthor": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-02-14T06:27:05.000+0000", "updated": "2014-02-14T06:27:05.000+0000" }, { "id": "454248", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "closed in favor of TIMOB-25954", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2020-02-13T15:12:47.000+0000", "updated": "2020-02-13T15:12:47.000+0000" }, { "id": "458018", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The plan is to implement radio buttons via: [TIMOB-28317]", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-01-16T03:20:30.000+0000", "updated": "2021-01-16T03:20:30.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }