Guest PaulOBrien Posted October 16, 2012 Report Posted October 16, 2012 Samsung's neat Multi Window functionality is making it's way into the wild... first with the Galaxy Note 2 and with the Galaxy S III to follow. This is great, but the downside is that not many apps support the functionality as yet. Developers - here's what you need to do to your app to add support! It's actually rather easy. In your AndroidManifest.xml, do the following... Make your application appear in the Multi Window bar. Add the MULTIWINDOW_LAUNCHER intent category to your application's main launcher activity... so just below your 'android.intent.category.LAUNCHER' line, add:<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" /> Indicate you're using the Multi Window library. Include the following just before your </application> close tag: <uses-library required="false" name="com.sec.android.app.multiwindow"> </uses-library> Add the metadata to indicate your application is Multi Window compatible. Add the following metadata again just before your </application> close tag: <meta-data android:name="com.sec.android.support.multiwindow" android:value="true" /> Specify the default window size. You should specify the default sizes for your Multi Window configuration using the additional metadata tags / dimens.xml entries below. The dimens.xml values below show the default values taken from Samsung's Gallery application, adjust for your needs if necessary. ;) Add the metadata again just before the </application> close tag: <meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:resource="@dimen/app_defaultsize_w" /> <meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:resource="@dimen/app_defaultsize_h" /> <meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:resource="@dimen/app_minimumsize_w" /> <meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:resource="@dimen/app_minimumsize_h" />[/code] and in your dimens.xml: [code]<dimen name="app_defaultsize_w">632.0dip</dimen> <dimen name="app_defaultsize_h">598.0dip</dimen> <dimen name="app_minimumsize_w">632.0dip</dimen> <dimen name="app_minimumsize_h">598.0dip</dimen> And that's it! Simple eh? Note that you will need to reboot your device for a newly added Multi Window app to appear in the bar. P Click here to view the item
Guest nmesisca Posted October 16, 2012 Report Posted October 16, 2012 @dimen/app_defaultsize_w and the others dont seem to be in the system variables.. I am getting a "No resource found.." error message. Do you have to have those defined somewhere in strings.xml or dimen.xml?
Guest PaulOBrien Posted October 17, 2012 Report Posted October 17, 2012 Yes, see above, there's a dimens.xml change... P
Guest smartgpc Posted November 1, 2012 Report Posted November 1, 2012 Hi, I had add the modify into my project. My app icon can show in the Multi-Window Launcher, however I cannot use my app with "multi" mode. When I drop my app icon into the other app, it always shows in full screen mode.
Guest AshtonBRSC Posted November 19, 2012 Report Posted November 19, 2012 Is there any way to test this without having a Note 2? I would add it to my app but I don't want to risk realising a broken implementation.
Guest jmbneaf Posted December 3, 2012 Report Posted December 3, 2012 Thanks for the notes to support Galaxy Notes :-) Minor note for Eclipse users . . . . Need to change from: <uses-library required="false" name="com.sec.android.app.multiwindow"> </uses-library> To this: <uses-library android:required="false" android:name="com.sec.android.app.multiwindow"> </uses-library>
Guest phunni Posted December 21, 2012 Report Posted December 21, 2012 I've used this and also persuaded the LastPass devs to do this. However, in both the case of the LastPass and my app (Who's Got What) when moving the divider it always jumps straight to the top or bottom of the screen and can't be moved. Is this an issue with the dimensions? Or something else?
Guest jcddcjjcd Posted December 24, 2012 Report Posted December 24, 2012 (edited) I had the same problem with the divider. I removed the two entries: [color=#000088]<meta-data[/color] [color=#660066]android:name[/color][color=#666600]=[/color][color=#008800]"com.sec.android.multiwindow.MINIMUM_SIZE_W"[/color] [color=#660066]android:resource[/color][color=#666600]=[/color][color=#008800]"@dimen/app_minimumsize_w"[/color] [color=#000088]/>[/color] [color=#000088]<meta-data[/color] [color=#660066]android:name[/color][color=#666600]=[/color][color=#008800]"com.sec.android.multiwindow.MINIMUM_SIZE_H"[/color] [color=#660066]android:resource[/color][color=#666600]=[/color][color=#008800]"@dimen/app_minimumsize_h"[/color] [color=#000088]/>[/color] and all is well. I took apart the Gallery app from v4.1.2 and that is all they had. I later tried using all 4 dimensions but via the value attribute and that worked also. <meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:value="632.0dip" /> <meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:value="598.0dip" /> <meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="632.0dip" /> <meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="598.0dip" /> Edited December 24, 2012 by jcddcjjcd
Guest hjernemadsen Posted January 3, 2013 Report Posted January 3, 2013 Hi, I've added MultiWindows support to my application, by following the instructions here: http://developer.samsung.com/s-pen-sdk/technical-docs-09 However that tutorial doesn't mention the need for the library, and on my Galaxy S3 it seems to work without it. Does anyone know if the library is necessary for it to work on other devices/versions? Also it seems that if the DEFAULT/MINIMUM settings are left out, the default is to make the app fill half the screen when dragged in, and have a minimum size that corresponds to the height of the actionbar.
Guest Steve Waring Posted May 23, 2013 Report Posted May 23, 2013 How do you tell if when second application is added to a multi window, so that your application now only has (say) half of the screen real estate? The application is not restarted, and the onConfigurationchange method is not invoked?
Recommended Posts