{ "id": "123770", "key": "TIMOB-15998", "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": [ { "id": "16593", "description": "Release 4.0.0", "name": "Release 4.0.0", "archived": false, "released": true, "releaseDate": "2015-05-21" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-01-15T18:37:34.000+0000", "created": "2013-12-16T10:18:20.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "exalture", "module_android", "notable", "qe-manualtest", "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "43323", "type": { "id": "10120", "name": "Gantt: finish-start", "inward": "has to be done after", "outward": "has to be done before" }, "outwardIssue": { "id": "140075", "key": "TIMOB-18062", "fields": { "summary": "iOS: AttributedString Parity with Android", "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": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "44433", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "126587", "key": "ALOY-961", "fields": { "summary": "Alloy: Add attributedString/attributedHintText support", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "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 } } } }, { "id": "34430", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "115954", "key": "TIMOB-14235", "fields": { "summary": "iOS: Support NSAttributedString", "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": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "updated": "2015-04-10T16:01:51.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": "I saw in Ti SDK 3.2.x we have added new features [AttributedString| http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.iOS.AttributedString] for iOS only. But in native android this features is already available from API level 1 but in titanium this is missing. For more information please visit http://developer.android.com/reference/java/text/AttributedString.html\r\n\r\nI would like to request for android also. \r\n", "attachment": [], "flagged": false, "summary": "Android: Support AttributedString", "creator": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "subtasks": [], "reporter": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "environment": null, "closedSprints": [ { "id": 291, "state": "closed", "name": "2015 Sprint 01 SDK", "startDate": "2015-01-03T01:00:00.000Z", "endDate": "2015-01-17T01:00:00.000Z", "completeDate": "2015-01-19T17:24:40.828Z", "originBoardId": 114 }, { "id": 272, "state": "closed", "name": "2014 Sprint 25 SDK", "startDate": "2014-12-08T22:49:31.264Z", "endDate": "2014-12-22T01:00:00.000Z", "completeDate": "2015-01-05T18:18:28.523Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "332418", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "https://github.com/appcelerator/titanium_mobile/pull/6358\r\nImplemented support for attributed string with following properties\r\n", "updateAuthor": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-11-17T14:11:28.000+0000", "updated": "2014-11-17T14:11:28.000+0000" }, { "id": "332420", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Sample to test\r\n\r\n{code}\r\n var win = Titanium.UI.createWindow({\r\n\t backgroundColor: '#ddd',\r\n\t});\r\n\r\n\twin.open();\r\n\r\n\tvar text = 'Bacon ipsum dolor Appcelerator Titanium rocks! sit amet fatback leberkas salami sausage tongue strip steak.';\r\n\r\n\tvar attr = Titanium.UI.createAttributedString({\r\n\t text: text,\r\n\t attributes: [\r\n\t\t\t//font\r\n\t\t\t{\r\n\t\t\t type: Ti.UI.ATTRIBUTE_FONT,\r\n\t\t\t value: {font:{fontSize:50,fontFamily:'Helvetica Neue'}},\r\n\t\t\t range: [0, text.length]\r\n\t\t\t},\r\n\t // Underlines text\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_UNDERLINES_STYLE,\r\n\t range: [0, text.length]\r\n\t },\r\n\t // Sets a background color\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"red\",\r\n\t range: [text.indexOf('Appcelerator'), ('Appcelerator').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"blue\",\r\n\t range: [text.indexOf('Titanium'), ('Titanium').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"yellow\",\r\n\t range: [text.indexOf('rocks!'), ('rocks!').length]\r\n\t },\r\n\t // Sets a foreground color\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,\r\n\t value: \"orange\",\r\n\t range: [0, text.length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,\r\n\t value: \"black\",\r\n\t range: [text.indexOf('rocks!'), ('rocks!').length]\r\n\t },\r\n\t // Sets strike through\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_STRIKETHROUGH_STYLE,\r\n\t range: [text.indexOf('tongue'), ('tongue').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_LINK,\r\n\t value: \"http://www.appcelerator.com\",\r\n\t range: [text.indexOf('Appcelerator'), ('Appcelerator').length]\r\n\t }\r\n\t ]\r\n\t});\r\n\r\n\tvar label = Titanium.UI.createLabel({\r\n\t left: 20,\r\n\t right: 20,\r\n\t height: Titanium.UI.SIZE,\r\n\t attributedString: attr\r\n\t});\r\n\t\r\n\tvar changeStyle = Titanium.UI.createButton({\r\n\t\tbottom:200,\r\n\t title: \"ChangeStyle\"\r\n\t});\r\n\r\n\twin.add(label);\r\n\twin.add(changeStyle);\r\n\t\r\n\tvar attr2 = Titanium.UI.createAttributedString({\r\n\t text: text,\r\n\t attributes: [\r\n\t\t\t//font\r\n\t\t\t{\r\n\t\t\t type: Ti.UI.ATTRIBUTE_FONT,\r\n\t\t\t value: {font:{fontSize:30,fontFamily:'Helvetica Neue'}},\r\n\t\t\t range: [0, text.length]\r\n\t\t\t},\r\n\t // Underlines text\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_UNDERLINES_STYLE,\r\n\t range: [0, text.length]\r\n\t },\r\n\t // Sets a background color\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"green\",\r\n\t range: [text.indexOf('Appcelerator'), ('Appcelerator').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"red\",\r\n\t range: [text.indexOf('Titanium'), ('Titanium').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_BACKGROUND_COLOR,\r\n\t value: \"blue\",\r\n\t range: [text.indexOf('rocks!'), ('rocks!').length]\r\n\t },\r\n\t // Sets a foreground color\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,\r\n\t value: \"black\",\r\n\t range: [0, text.length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,\r\n\t value: \"red\",\r\n\t range: [text.indexOf('rocks!'), ('rocks!').length]\r\n\t },\r\n\t // Sets strike through\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_STRIKETHROUGH_STYLE,\r\n\t range: [text.indexOf('tongue'), ('tongue').length]\r\n\t },\r\n\t {\r\n\t type: Ti.UI.ATTRIBUTE_LINK,\r\n\t value: \"http://www.appcelerator.com\",\r\n\t range: [text.indexOf('Appcelerator'), ('Appcelerator').length]\r\n\t }\r\n\t ]\r\n\t});\r\n\t\r\n\tchangeStyle.addEventListener('click', function(){\r\n\t\tlabel.attributedString=attr2});\r\n{code}", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-11-17T14:14:28.000+0000", "updated": "2014-11-19T15:05:20.000+0000" }, { "id": "332427", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "Is it possible that Ti.UI.ATTRIBUTE_LINK could respond to click events in addition to longpress? It is difficult to explain to users that they see something that looks clickable, but no, they need to longpress it.", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2014-11-17T15:34:04.000+0000", "updated": "2014-11-17T15:34:04.000+0000" }, { "id": "333005", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "For parity with iOS, a ticket might need to be created to change the iOS from using the \"Ti.UI.iOS\" prefix for all methods and variables related to AttributedString.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2014-11-20T03:49:29.000+0000", "updated": "2014-11-20T03:49:29.000+0000" }, { "id": "334957", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing this PR https://github.com/appcelerator/titanium_mobile/pull/6358\r\nin favor of https://github.com/appcelerator/titanium_mobile/pull/6409\r\nthat adds iOS modifications and documentation fixes.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-12-05T00:35:38.000+0000", "updated": "2014-12-05T00:35:38.000+0000" }, { "id": "339273", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/6463 merged", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-01-15T18:37:34.000+0000", "updated": "2015-01-15T18:37:34.000+0000" }, { "id": "345745", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified fixed using:\r\n\r\nTitanium SDK 4.0.0.v20150311105810\r\nStudio 4.0.0.201503062102\r\nCLI 3.4.2\r\nXcode 6.2\r\nNode 0.10.36\r\n\r\nOn: Galaxy Note 2, Android 4.3", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-03-11T22:30:47.000+0000", "updated": "2015-03-11T22:30:47.000+0000" }, { "id": "349179", "author": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Custom fonts aren't working: AC-70", "updateAuthor": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-04-10T16:01:51.000+0000", "updated": "2015-04-10T16:01:51.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }