{ "id": "175712", "key": "TIMOB-28233", "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": [], "resolution": null, "resolutiondate": null, "created": "2020-11-08T11:29:52.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2020-11-08T11:34:38.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": [], "description": "The TabGroup's \"shiftMode\" is a constant, not a boolean value. See the incorrect docs here:\r\nhttp://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabGroup-property-shiftMode\r\n\r\nVersus the native code (that even handles the UNLABELED constant already - which is awesome): https://github.com/appcelerator/titanium_mobile/blob/master/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java#L173-L185\r\n\r\nI understand that it may have been done to \"ease\" the API here, but evaluating a boolean to an int is not really cool and preventing the actual possible constants isn't either. Two possible ideas here:\r\n\r\n1. Rename \"shiftMode\" to \"labelVisibilityMode\" and expose the constants, e.g. LABEL_VISIBILITY_MODE_LABELED\r\n2. Keep shift mode a boolean, but expose a cross-platform UNLABELED constant\r\n\r\nI would suggest (1), because it's the native behavior. \"Shift mode\" is not very known in the native community, but label visibility modes are a well known Android-only feature, which is fine for Android devs. And the whole {{labelVisibilityMode}} property could even be cross-platform, because iOS is able to hide the title label as well (using icon-offsets which we also use).", "attachment": [], "flagged": false, "summary": "Android (Docs): TabGroup's \"shiftMode\" should be a constant, not boolean value", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }