我试着在link之后为我的应用添加三星的多窗口支持。我的应用程序确实出现在三星的多窗口应用程序选项卡中,我能够将其拖放到屏幕上,但是我的应用程序并不像多窗口支持的应用程序应该表现的那样,而是扩展到全屏。
我认为还需要进行一些其他更改才能使其正常工作,但我不知道是什么。有没有人有任何想法可能导致这种行为的问题?
答案 0 :(得分:64)
This xda-developers forum post包含一个循序渐进的指南,我在此解释过。
确保您的清单在<application>
标记内包含以下内容:
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<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" />
对于所需的活动,请添加到其<intent-filter>
标记:
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
请务必在资源文件中定义上述尺寸。
在该博文的评论部分,用户提到最小尺寸导致他出现问题,并建议删除com.sec.android.multiwindow.MINIMUM_SIZE_W
和com.sec.android.multiwindow.MINIMUM_SIZE_H
。
One user pointed out对他不起作用;他改为硬编码了value属性:
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<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" />
我担心我无法尝试自己,因为我没有Galaxy Note。
答案 1 :(得分:3)
在Galaxy Note 3上测试我的应用程序后,我发现了另外两件事:
MINIMUM_SIZE
和DEFAULT_SIZE
仅适用于三星平板电脑的MultiWindow,而不适用于智能手机。
此外,如果您想在应用程序中启用多实例,请将此行添加到AndroidManifest:
<meta-data
android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
android:value="true" />
答案 2 :(得分:0)
另外值得注意的是,为您的应用启用Pen Window(多窗口系统的一部分),以及此处所述的多窗口和多实例(http://forum.xda-developers.com/showthread.php?t=2499720):
<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />
并将Launcher代码添加到您的活动中:
<category android:name="android.intent.category.PENWINDOW_LAUNCHER" />
作为启动器代码的注释,xda帖子列出了com.samsung
前缀,但我无法让它在我的N3上工作(如上所述)(我使用了上面修改过的代码)。在笔窗口中,您必须先点击编辑并将应用程序从底部拖动到Pen Window Launcher屏幕,然后才能使用它。
答案 3 :(得分:0)
要在Android 7及更高版本上支持多窗口,只需在清单的“活动”或“应用”元素中将此android:resizeableActivity设置为true:
android:resizeableActivity="true"
https://developer.android.com/guide/topics/ui/multi-window.html