I am working on a project with Branch. I want to change the default design of sharesheet to a customized design. I found this code in the documents,
ShareSheetStyle shareSheetStyle = new ShareSheetStyle(MainActivity.this, "Check this out!", "This stuff is awesome:")
.setCopyUrlStyle(getResources().getDrawable(android.R.drawable.ic_menu_send), "Copy", "Added to clipboard")
.setMoreOptionStyle(getResources().getDrawable(android.R.drawable.ic_menu_search), "Show more")
.addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK)
.addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL)
.setAsFullWidthStyle(true)
.setSharingTitle("Share With");
But I just can change the icon and text. How could I have a customized design and also be able to track the sharing data.
The Sharesheet that is provided by the Branch SDK is built on the native share sheet, which cannot be customised. If you would like to build a custom share experience, you'll need to generate the link beforehand using the SDK and then pass that into your custom share sheet.
You can track the data for these links by going into Sources tab and filtering as per feature=Share.
Related
By clicking on a certain command in my code, I get the information not available and available within my project. I do not understand how this is possible, and informs me that you can use the navigation bar to switch context, but I do not know how to do that. The attached figure shows the message. My questions are:
How can something be available and not avilable in the same project?
What is the navigation bar and how do I use it to change the context?
This is the message I received:
Usage:
Dim r as list (of Streaming) = Await StartAsync(...)
MSGEM – Available
MSGEM – Not Available
You can use the navigation bar to wsitch context.
This could be be down to two front-end files sharing the same back-end codefile. In such a situation, the code file will reference a front end control which is in only one of the front end files and not both.
If you do not use such a coding technique, it can easily happen accidently when making a backup of a front end code file by copying it to a different filename but forgetting to add the .exclude extension.
See this answer for more details:
You can use the navigation bar to switch contex
Could any body let me know how to create custom widget in thingworx.
I don't have any idea how to create custom widget.
Please help me.
I have to build drag drop custom widget and we can use that custom widget with other widget. e.g with tree widget,... etc.
I would recommend reading the official Extension Package Development Guide:
However, the best way to start making a new widget is to take an existing widget that does something like you want, and modify it. Built in widgets exist at
TomcatRoot\webapps\Thingworx\Common\thingworx\widgets
Here's a very brief guide to getting started with that. If you were to want to copy Textbox:
Open the metadata.xml and change the "TextBox" to "MyWidget".
There are two sections in this file. The "ExtensionPackage" section holds metadata for the pacakge (version, vendor, etc.)
The second section , "Widgets" defines the widget files. Change the name of all these files to use your name e.g. MyWidget.ide.js Don’t forget to change name in the “Widget” xml tag too.
Rename all necessary folder and files, replacing "TextBox" with "MyWidget"
Open the both .js files and change the definition in each to reflect "MyWidget"
In the ide file, change the icon path "widgetIconUrl" and the "name" property.
Select the "ui" folder and the metadata.xml file and package them both into a new zip file. This file should import into Thingworx.
I would suggest searching for or asking this question in the PTC IoT Community, which is much more active for Thingworx developers than StackExchange.
UPDATE: The latest documentation for ThingWorx 9 Extension Package Development Guide can be found here
So i have a titanium app, and i just read about single contexts. (Incidentally, somebody here should write a book about programming in titanium... the only one out there doesn't really mention single contexts or any of that new-fangled stuff. Heck, make it an eBook. I'd buy it)
The titanium documentation stresses their use (http://docs.appcelerator.com/titanium/latest/#!/guide/Coding_Strategies-section-29004891_CodingStrategies-Executioncontexts) and then politely forgets how to implement a single context!!
So, question:
Let's say i have the awesomeWidget page - this just shows a button, and when you click on a button a new screen appears.
The aswesomeWidget page is accessed through another page - it is not from the root of the titanium app.
Keeping to single contexts, how do i add the view that the button creates to the current window?
Do I:
keep a global pointer to the current (and only) window?
pass the variable holding the current window down to all the following pages that use it
something else?
First off, Titanium keeps a reference to your current window anyway for you, so this use case is easy. For example:
awesomeWidgetButton.addEventListener('click' function(e) {
var yourView = Ti.UI.createView({...});
Titanium.UI.currentWindow.add(yourView);
});
If you want to dig further, the concept of a single context is closely tied to the use of CommonJS modules and the require keyword. It is very simple to keep a single context, just never open a window with the url component filled out, and liberally use the require() keyword. Other than that, its up to your imagination to keep track of who points to what and vice versa, there are standard patterns and best practices that apply here (MVC, Singletons, just keep it simple) just as in coding in any other language.
I'm re-creating an AIR app with FB 4.5.1. (I've started from scratch, having had trouble importing FB 4 projects).
In the app.xml I have the following defined:
<systemChrome>none</systemChrome>
<transparent>true</transparent>
Having done this I still get a full window with titlebar, min, max, and close buttons.
what gives?
I believe you need to create a skin for the application.
This appears in Adobe's forum, and includes an FXP of a functional transparent app:
http://forums.adobe.com/thread/476699
Setting systemChrome & transparency along with "backgroundAlpha" to "0" would have helped in Flex 3.
But, skinning of components in Flex 4 i.e Spark components is little different and completely customizable.
Following are the steps you need to do make the window transparent.
Set systemChrome to "none" in the XML configuration file
Set transparent to "true" in the XML configuration file
Copy the skin code from <SDK_FOLDER>\frameworks\projects\airframework\src\spark\skins\spark\S parkChromeWindowedApplicationSkin.mxml and paste in a new MXML file.
Set the "alpha" property of "backgroundRect" object inside the skin file to "0".
Assign the newly created skin as the "skinClass" for "s:WindowedApplication" object
Please import the attached FXP file using "File->Import Flex Project" menu and have a look at the code to make it much more clear.
First, I discovered it is easier to interact with app.XML by opening it via "Open With -> Text Editor".
Second, and this is really embarrassing, I had simply failed to remove the comments bracketing
was:
<!-- <systemChrome>none</systemChrome> -->
<!--<transparent>true</transparent>-->
should have been:
<systemChrome>none</systemChrome>
<transparent>true</transparent>
...duh! I knew better, but...
Lastly, for a completely chromeless app, add
showStatusBar="false"
to the app header.
that's it!
Does Flash Builder support tasks list?
I'm testing Flash Builder for PHP, and I can see my // TODO in PHP code but not in AS or MXML.
I found this plugin:
http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
but it's very old.
Do you know how can I see my TODO list in AS3 and MXML code with Flash Builder 4.5?
[UPDATE]:
I've installed the plugin from richinternet.de and it works in Flash Builder 4.5 for PHP.
But it's very poor, it only detects the TODOs and FIXMEs if you open the file, it doesn't search all your src for TODOs and FIXMEs.
And also is case insensitive, that's a problem for me, because in spanish "todo" means "everything", so I can't use the word todo in my comments now.
I can't understand how Adobe doesn't include a plugin for this after so many years developing Flash Builder !! they are adding TODO comments when you generate a handler, method, etc !!! I don't know how that can be useful if you don't show it in the tasks!
Get the TODO/FIXME extension for Flash Builder at the following link, and give it a try.
http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
Another link at: http://blog.winnemconsulting.com/2011/08/08/fbtoolkit-taskfixmetodo-plugin-for-flex-and-flashbuilder/
How it works: the plugin parses every MXML/AS file when opened and searches comments (both MXML and AS comments) for TODO and FIXME tokens (this search is case insensitive, so it also finds todo). The same action takes place after a file has been saved. If a token is found, a new Task gets generated with its message set to the comment and displayed in the Task View (To open Task View choose Window-->Other Views...-->Basic-->Tasks in Flex Builder 2 standalone and Window-->Show View-->Other-->Basic-->Tasks when running Flex Builder 2 as a plugin in Eclipse). Note: to really delete a Task you have to delete the comment - deleting a Task from the Task View does not kill the comment, so after you save the file the Task will reappear.
For completeness on this question:
I do agree with you on the fact that it is truely amazing and inconceivable that such features do not exist in Flash Builder by default.
There is another alternative, though it's not free (It does have a 30 day trial though)
It is called SourceMate http://www.elementriver.com/sourcemate
The product has loads of other cool features, be sure to check the feature list.
I commented above on the accepted answer, but I'll relist here...
This post is now seriously outdated :(. I would like to offer a different answer... We'll say starting with Flash Builder 4.6.
It's from a great article (from the Adobe Cats) about how to add Task Markers (and Bookmarks) to your Flash Builder Project Files.
You can always search in the solution for "TODO":) And in the results window, press F5 the next time you want to see TODOs.
Best solution is to install the plugins mentioned previously via the software install menu under Help > Install Software.
WARNING - Don't get the SourceMate plugin if you have FB 4.7 - it isn't supported and doesn't look like it will be soon. Check this page for updates: http://support.elementriver.com/discussions/sourcemate