2

如何在 android 应用程序活动中启用 Mutli 窗口选项。?

android:resizeableActivity我在两个单独的活动中尝试使用 AndroidManifest 活动属性。

从 Android-N 文档中我找到了上述选项

android:resizeableActivity=["true" | "false"]

如果此属性设置为 true,则可以在分屏和自由格式模式下启动活动。如果该属性设置为 false,则该 活动不支持多窗口模式。如果此值为 false,并且用户尝试在多窗口模式下启动 Activity,则 Activity 将占据全屏。如果您的应用以 Android N 为目标,但您没有为此属性指定值,则该属性的值默认为 true。

我尝试了什么

添加了两个活动一个活动是 with android:resizeableActivity="false",第二个活动是 with android:resizeableActivity="true"(in AndroidManifest.xml)。

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:resizeableActivity="true"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MWActivity"
            android:resizeableActivity="false"
            android:theme="@style/AppTheme.NoActionBar" />

对于这两个活动应用程序都能够启用 Mutli-window 并且也能够调整大小。

根据文档的预期行为

MainActivity应该允许 Mutli-WindowMWActivity并且不应该像我给android:resizeableActivity="false"的那样调整大小MWActivity

更新:截至目前(在“N”的当前版本中)它可以被视为缺陷

这是当前版本“N”的缺陷。从 code.google检查此链接以获取更多详细信息

如果我得到任何东西,将继续更新答案和问题。

4

2 回答 2

3

这正如预期的那样,正如 Android 文档中提到的那样。这是根活动的属性设置适用于其任务堆栈中的所有活动。例如,如果根活动的 android:resizeableActivity 设置为 true,则任务堆栈中的所有活动都是可调整大小的。

在您的情况下,您将根活动的 android:resizeableActivity 设置为 true ,因此在同一任务中创建的所有活动都将支持多窗口。

同样记录在https://developer.android.com/preview/features/multi-window.html#configuring

于 2016-08-17T07:06:00.970 回答
2

仅当您处于多窗口模式时,您才能通过将活动作为新任务启动来以编程方式执行此操作。

final Intent intent = new Intent(this, MWActivity.class);
if (isInMultiWindowMode())
{
   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
startActivity(intent);
于 2016-07-21T08:43:39.123 回答