我去尝试按照此链接添加三星对我的应用程序的多窗口支持。我的应用程序确实出现在三星的多窗口应用程序选项卡中,并且我能够将其拖放到屏幕中,但是我的应用程序并没有像支持多窗口的应用程序那样运行,而是扩展到全屏。
我认为需要进行一些其他更改才能使其正常工作,但我不知道是什么。有谁知道导致这种行为的问题可能是什么?
我去尝试按照此链接添加三星对我的应用程序的多窗口支持。我的应用程序确实出现在三星的多窗口应用程序选项卡中,并且我能够将其拖放到屏幕中,但是我的应用程序并没有像支持多窗口的应用程序那样运行,而是扩展到全屏。
我认为需要进行一些其他更改才能使其正常工作,但我不知道是什么。有谁知道导致这种行为的问题可能是什么?
这个 xda-developers 论坛帖子包含一个分步指南,我在这里解释过。
<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
。
一位用户指出,通过维度资源指定维度对他不起作用;他改为硬编码 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。
在 Galaxy Note 3 上测试我的应用程序后,我发现了另外两件事:
MINIMUM_SIZE
并且DEFAULT_SIZE
仅适用于三星平板电脑的 MultiWindow,不适用于智能手机。
此外,如果您想在您的应用程序中启用多实例,请将此行添加到您的 AndroidManifest:
<meta-data
android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
android:value="true" />
另外值得注意的是为您的应用程序启用 Pen Window(多窗口系统的一部分),以及此处所述的 Multi-Window 和 Multi-Instance ( http://forum.xda-developers.com/showthread.php?t =2499720 ):
<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />
并将启动器代码添加到您的活动中:
<category android:name="android.intent.category.PENWINDOW_LAUNCHER" />
作为启动器代码的注释,xda 帖子列出了它并带有com.samsung
前缀,但我无法让它在我的 N3 上工作,如那里所述(我使用了上面的修改代码)。在 Pen Window 中,您必须点击编辑并将您的应用程序从底部拖到 Pen Window Launcher 屏幕中,然后才能使用它。
要在 Android 7 及更高版本上支持多窗口,只需在清单的“活动”或“应用程序”元素中将此 android:resizeableActivity 设置为 true:
android:resizeableActivity="true"
https://developer.android.com/guide/topics/ui/multi-window.html