我想知道是否有人知道如何打开两个具有相同项目的Android Studio的窗口.我知道你可以拖出标签,但这只允许你编辑那个文件.我想要两个功能齐全的窗口,每个窗口都可以看到项目文件/结构.
我不想只拆分编辑器,我想要一个单独的窗口.
我想要两个这样的窗口,同时"看"同一个项目:

我不想要这些窗口中的另一个,因为我无法查看项目结构并更改它,并且很难将其更改为此视图中的其他文件:

在Android N的开发人员预览版中,默认情况下启用了多窗口支持.如何禁用活动?如果启用多窗口的应用程序启动我的禁用活动,会发生什么?
我试着通过此链接为我的应用添加三星的多窗口支持.我的应用程序确实出现在三星的多窗口应用程序选项卡中,我能够将其拖放到屏幕中,但是我的应用程序不像多窗口支持的应用程序应该表现,而是扩展到全屏.
我认为还需要做一些其他的改变才能让它正常工作,但我不知道是什么.有没有人有任何想法可能导致这种行为的问题?
从多窗口文档:
多窗口模式下禁用的功能
当设备处于多窗口模式时,某些功能被禁用或忽略,因为它们对于可能与其他活动或应用共享设备屏幕的活动没有意义.这些功能包括:
- 某些系统UI自定义选项已禁用; 例如,如果应用程序未以全屏模式运行,则无法隐藏状态栏.
- 系统忽略对android:screenOrientation属性的更改.
我得到了大多数应用程序,纵向和横向模式之间的区别是没有意义的,但是我正在使用SDK,其中包含用户可以进行任何活动的摄像机视图 - 包括支持多窗口模式的活动.问题是摄像机视图包含显示摄像机预览的SurfaceView/TextureView,并且为了在所有活动方向上正确显示预览,需要有关正确活动方向的知识,以便可以正确旋转摄像机预览.
问题是我的代码通过检查当前配置方向(纵向或横向)和当前屏幕旋转来计算正确的活动方向.问题是在多窗口模式下,当前配置方向不反映真实的活动方向.这会导致相机预览旋转90度,因为Android报告的配置与方向不同.
我目前的解决方法是检查所请求的活动方向并以此为基础,但有两个问题:
即使在多窗口配置中,有没有办法可以稳健地计算正确的活动方向?
这是我目前使用的代码(请参阅有问题的部分的注释):
protected int calculateHostScreenOrientation() {
int hostScreenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
int rotation = getDisplayOrientation(wm);
boolean activityInPortrait;
if ( !isInMultiWindowMode() ) {
activityInPortrait = (mConfigurationOrientation == Configuration.ORIENTATION_PORTRAIT);
} else {
// in multi-window mode configuration orientation can be landscape even if activity is actually in portrait and vice versa
// Try determining from requested orientation (not entirely correct, …Run Code Online (Sandbox Code Playgroud) camera android multi-window android-camera android-7.0-nougat
借助Android的多窗口支持,如何检测状态栏是否可见?例如,当处于纵向方向时,如果我是顶级应用程序,状态栏可能是可见的,但是当我是底部应用程序时,状态栏可能不可见.现在,我的观点在底部是有趣的,因为我为不再存在的状态栏腾出了空间.
我想为我的Android应用启用分屏.如果我试图拖动我的应用程序使其占据我的Android设备的上半部分,它会给出消息"应用程序不支持分屏".但是,对于其他应用程序,如Facebook和WhatsApp,我可以使用分屏.我正在使用LGE Nexus 5X和Android 7(牛轧糖),它支持分屏.
有没有人在Android O的PiP模式下管理后台堆栈和任务有任何经验或建议?
进入PiP模式似乎将活动与当前任务堆栈分离.退出并不能恢复它.
Chrome浏览器似乎使用画中画在您输入画中画模式,可以浏览周围的其他应用程序,恢复PIP到全屏,然后按返回到最终回到网页时要正确处理回堆栈.当它处于PiP模式时,您也无法在任务列表中看到Chrome.是否有一些我缺少的东西,或Chrome是否正在做一些特殊的事情,或者可能只使用Tab和全屏视频的单一活动?
基本上我想要恢复整个应用程序,并且当我们从PiP回来时我们进入PiP的时候它是后筹码.
android multi-window android-8.0-oreo android-picture-in-picture
我想禁用我的应用中的活动的多窗口支持.我resizeableActivity在Manifest中设置为false,但是当我长按最近的应用程序图标时,应用程序仍处于多窗口模式.以下是我的清单:
<activity
android:name=".MainActivity"
android:resizeableActivity="false"
android:excludeFromRecents="true"
android:icon="@drawable/ic_launcher_home"
android:theme="@style/AppThemeV3.CustomToolbar">
</activity>
Run Code Online (Sandbox Code Playgroud)
每个文件:
android:resizeableActivity=["true" | "false"]如果该属性设置为false,则该活动不支持多窗口模式.如果此值为false,并且用户尝试以多窗口模式启动活动,则活动将占据整个屏幕.
我还尝试在清单中的应用程序级别将此属性设置为false,但它仍然以多窗口模式启动.任何关于我做错的指针都会受到高度赞赏吗?
我正在努力使我们的视频应用程序支持Android N多窗口模式.我发现活动生命周期在多窗口模式下变得混乱.这种现象是当我们的应用程序布局在顶部屏幕上,整个屏幕是纵向的,然后我点击主页按钮,上层应用程序onPause()调用但未onStop()调用.
根据谷歌指南https://developer.android.com/guide/topics/ui/multi-window.html#lifecycle,视频应用应该在onStop()回调而不是onPause()回调中暂停视频播放.
在这种情况下,按下主页按钮,活动进入后台并变得对用户不可见,我们的应用程序应暂停视频播放但我们无法获得onStop()回调.同时,活动不会触发onMultiWindowChanged()回调,这意味着活动仍处于多窗口模式,尽管它处于后台.在isInMultiWindowMode()将返回true在这种情况下.
当应用程序位于左侧屏幕且整个屏幕处于横向状态时,将出现同样的问题.
我已经搜索了这个问题,发现有人在谷歌上发布了问题,但未在Android Nougat版本中处理.
那么,什么时候才能在这种情况下暂停我们的视频播放?如果我们在onPause()回调中暂停视频,但在多窗口模式下用户可以看到该活动.如果我们不这样做,我们就无法onStop()在这种情况下获得回调.这类案件是否有适当的解决方法?
我有两个显示器并在多窗口模式下使用VS 2015(即不同屏幕上的单独选项卡).VS 2013总是在任务栏上只显示一个图标,非常舒服,但VS 2015每个单独的窗口显示一个图标.这让我疯了!
我试图找到一个设置来关闭此行为,但没有结果.谷歌搜索也没有多大帮助.
顺便说一句,我使用的是Win Server 2008 R2.
有人找到了解决这个问题的方法吗?