如何在android app Activity中启用Mutli窗口选项。?
我在两个单独的活动中尝试使用AndroidManifest活动属性android:resizeableActivity
。
来自Android-N文档我在上面找到的选项
android:resizeableActivity=["true" | "false"]
如果此属性设置为true,则可以启动活动 分屏和自由形式模式。如果属性设置为false,则 活动不支持多窗口模式。如果此值为false, 并且用户尝试以多窗口模式启动活动 活动接管全屏。如果您的应用针对Android N, 但是你没有为这个属性指定一个值,即属性 value默认为true。
我尝试了什么:
添加了两项活动一项活动使用android:resizeableActivity="false"
,第二项活动使用android:resizeableActivity="true"
(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&amp;能够调整大小。
根据文档预期的行为:
只允许MainActivity
允许Mutli-Window&amp;不应允许MWActivity
调整大小,因为我已将android:resizeableActivity="false"
提交给MWActivity
更新:截至目前(当前版本为&#34; N&#34;)可将其视为缺陷
这是&#34; N&#34;的当前版本中的缺陷。来自code.google check this link for more detail。
会不断更新答案&amp;我有什么问题。
答案 0 :(得分:2)
只有在处于多窗口模式时,才可以通过将活动作为新任务启动来以编程方式执行此操作。
final Intent intent = new Intent(this, MWActivity.class);
if (isInMultiWindowMode())
{
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
startActivity(intent);
答案 1 :(得分:2)
这是预期的,如Android文档中所述。这是根活动的属性设置适用于其任务堆栈中的所有活动。例如,如果根活动将android:resizeableActivity设置为true,则任务堆栈中的所有活动都可以调整大小。
在您的情况下,您对根活动设置了android:resizeableActivity为true,因此在同一任务中创建的所有活动都将支持多窗口。
https://developer.android.com/preview/features/multi-window.html#configuring
中记录了相同内容