{ "id": "64040", "key": "TIMOB-3408", "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": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-11-18T17:34:43.000+0000", "created": "2011-04-15T03:43:55.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-11-18T17:37:52.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": "Please put this into the next release. Allows for prettier text aligning in Labels.", "attachment": [ { "id": "60743", "filename": "native-test-case_alignment.zip", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-18T17:16:20.000+0000", "size": 25074, "mimeType": "application/zip" }, { "id": "60718", "filename": "Screen Shot 2016-11-17 at 9.08.21 AM.png", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-17T17:46:59.000+0000", "size": 43101, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: Expose Ti.UI.Label.textAlign \"justify\"", "creator": { "name": "doney", "key": "doney", "displayName": "Doney", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "doney", "key": "doney", "displayName": "Doney", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 752, "state": "closed", "name": "2016 Sprint 23 SDK", "startDate": "2016-11-05T00:39:37.027Z", "endDate": "2016-11-19T01:39:00.000Z", "completeDate": "2016-11-29T06:51:57.887Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "130655", "author": { "name": "doney", "key": "doney", "displayName": "Doney", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Also, letterSpacing would be GREATLY appreciated.

{html}", "updateAuthor": { "name": "doney", "key": "doney", "displayName": "Doney", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:43:56.000+0000", "updated": "2011-04-15T03:43:56.000+0000" }, { "id": "177200", "author": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "body": "Still nothing? Please add these simple things to TiMobile (preferably iOS). It should be very easy to implement.", "updateAuthor": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-12-26T12:23:23.000+0000", "updated": "2011-12-26T12:23:23.000+0000" }, { "id": "177201", "author": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "body": "Using [CATextLayer|http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CATextLayer_class/Introduction/Introduction.html] might help.", "updateAuthor": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-12-26T12:34:06.000+0000", "updated": "2011-12-26T12:34:06.000+0000" }, { "id": "177202", "author": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "body": "Just came across [this|https://marketplace.appcelerator.com/apps/790#overview] paid module again, which is _insane_. Please make it free, so you can close this ticket and have some more satisfied users (read the reviews). ", "updateAuthor": { "name": "vortex", "key": "vortex", "displayName": "Doney den Ouden", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-12-26T12:42:00.000+0000", "updated": "2011-12-26T12:48:37.000+0000" }, { "id": "306138", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Still not available in the latest SDK on both iOS and Android. Can please someone check this?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-05-22T21:03:36.000+0000", "updated": "2014-05-22T21:03:36.000+0000" }, { "id": "306139", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "To confirm, you are looking for justified text in labels, and on both iOS an Android?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-22T21:08:36.000+0000", "updated": "2014-05-22T21:08:36.000+0000" }, { "id": "335001", "author": { "name": "max87", "key": "max87", "displayName": "Marian Kucharcik", "active": true, "timeZone": "Europe/Prague" }, "body": "Yes, please add option to justify label to next release. Thanks", "updateAuthor": { "name": "max87", "key": "max87", "displayName": "Marian Kucharcik", "active": true, "timeZone": "Europe/Prague" }, "created": "2014-12-05T07:02:50.000+0000", "updated": "2014-12-05T07:02:50.000+0000" }, { "id": "400064", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I just needed this property for the new KitchenSink, so let's expose it! Unfortunately, justified text alignment is not available natively on the Android platform, so this is iOS-only for now.\r\n\r\nPR: https://github.com/appcelerator/titanium_mobile/pull/8562\r\nUnit-Test: https://github.com/appcelerator/titanium-mobile-mocha-suite/pull/8", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-29T19:32:57.000+0000", "updated": "2016-10-29T20:11:59.000+0000" }, { "id": "401367", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The bug appears to still be present. This is the environment I used:\r\nNode Version: 4.5.0\r\nMac OS: 10.12.1\r\nAppc CLI: 6.0.0\r\nAppc CLI NPM: 4.2.8\r\nTitanium SDK version: 6.1.0.v20161116071014\r\nAppcelerator Studio, build: 4.8.0.201611121409\r\nXcode 8.1 GM\r\n\r\nWhen using \"textAlign: Ti.UI.TEXT_ALIGNMENT_JUSTIFY\", the actual alignment is LEFT, so it appears that JUSTIFY property is being ignored. I tried this on both labels and textfields., I have a screenshot of what it looks like, and the sample code I used.\r\n\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: 'white',\r\n layout: 'vertical',\r\n title: 'Label Demo'\r\n});\r\n\r\nvar label1 = Ti.UI.createLabel({\r\n text: 'label1 text aligned to left',\r\n textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT,\r\n top: 90,\r\n width: 300, height: 40});\r\n\r\nvar label2 = Ti.UI.createLabel({\r\n text: 'label2 text aligned to right',\r\n textAlign: Ti.UI.TEXT_ALIGNMENT_RIGHT,\r\n width: 300, height: 40});\r\n\r\nvar label3 = Ti.UI.createLabel({\r\n text: 'label3 text aligned to center',\r\n textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,\r\n width: 300, height: 40});\r\n\r\nvar label4 = Ti.UI.createLabel({\r\n text: 'label4 text aligned to justify',\r\n textAlign: Ti.UI.TEXT_ALIGNMENT_JUSTIFY,\r\n width: 300, height: 40});\r\n \r\nvar textfield1 = Titanium.UI.createTextField({\r\n\ttextAlign: Ti.UI.TEXT_ALIGNMENT_LEFT,\r\n width:300, height:40,\r\n borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED}); \r\n\r\nvar textfield2 = Titanium.UI.createTextField({\r\n\ttextAlign: Ti.UI.TEXT_ALIGNMENT_RIGHT,\r\n width:300, height:40,\r\n borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED}); \r\n\r\nvar textfield3 = Titanium.UI.createTextField({\r\n\ttextAlign: Ti.UI.TEXT_ALIGNMENT_CENTER,\r\n width:300, height:40,\r\n borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED}); \r\n\r\nvar textfield4 = Titanium.UI.createTextField({\r\n\ttextAlign: Ti.UI.TEXT_ALIGNMENT_JUSTIFY,\r\n width:300, height:40,\r\n borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED}); \r\n\r\nwin.add(label1);\r\nwin.add(label2);\r\nwin.add(label3);\r\nwin.add(label4);\r\nwin.add(textfield1);\r\nwin.add(textfield2);\r\nwin.add(textfield3);\r\nwin.add(textfield4);\r\nwin.open();\r\n{code}\r\n!Screen Shot 2016-11-17 at 9.08.21 AM.png|thumbnail!\r\n ", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-17T17:46:10.000+0000", "updated": "2016-11-17T17:49:48.000+0000" }, { "id": "401532", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I re-ran the testcase with additional text in the label, and found that the fix does work correctly. If there are not enough words to wrap around to multiple lines, the alignment behaves like LEFT. This behavior is consistent with Native as well. Therefore, the fix is validated.", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-18T17:37:52.000+0000", "updated": "2016-11-18T17:37:52.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }