如何在演示文稿显示上添加多个片段?

时间:2019-06-12 20:16:45

标签: java android fragment presentation

我的问题来自用例,即我的android设备通过HDMI连接到4K电视。默认情况下,它将我的android设备的内容镜像并升级到4K电视。视频质量不理想。我想使用演示模式基于4K分辨率重新创建相同的内容。

我的应用有多个片段。很自然,我想找到一种在演示时重用所有这些片段的方法。我根据以下库顺利地做了一个演示文稿的片段。但是,我很难在演示文稿中添加第二个片段。

基于库cwac-presentation,我可以在演示文稿上创建两个Webview片段(例如,一个Webview用于google.com,另一个用于yahoo.com),但是仅显示最后一个。上一个隐藏了。

从理论上讲,我可以在演示文稿中使用一个片段重写我的所有代码,这将是太多的工作。

在展示上有限制吗?或有任何建议可以在演示文稿中显示两个片段?

https://github.com/commonsguy/cwac-presentation

我试图在本地屏幕上显示两个PresentationFragments而不出现问题。但是当连接到4K电视时,仅显示最后一个片段。

我还尝试使两个片段具有不同且随机的大小和位置,因此它们不会互相阻塞。但是,即使视图尺寸很小,似乎一个片段也是全屏尺寸。

//以下显示了基于cwac-presentation / demo / src / main / java / com / commonsware / cwac / preso / demo / MainActivity.java的大部分更改。如果颠倒两个ft.add()的顺序,将显示最后一个。

@Override
  public void showPreso(Display display) {
    if (inline.getVisibility() == View.VISIBLE) {
      inline.setVisibility(View.GONE);
      inline2.setVisibility(View.GONE);
      prose.setText(R.string.secondary);

      Fragment f=getSupportFragmentManager().findFragmentById(R.id.preso);
      Fragment f2=getSupportFragmentManager().findFragmentById(R.id.preso2);

      FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.remove(f);
            ft.remove(f2);
            ft.commit();
    }

    preso=buildPreso(display);

    preso2=buildPreso2(display);

    preso.show(getSupportFragmentManager(), "preso");
    preso2.show(getSupportFragmentManager(), "preso2");

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.add(preso2, "preso2");
    ft.add(preso, "preso");
    ft.commit();

  }

  private PresentationFragment buildPreso(Display display) {
    return(SamplePresentationFragment.newInstance(this, display,
                                                  "http://www.google.com"));
  }
  private PresentationFragment buildPreso2(Display display) {
    return(SamplePresentationFragment.newInstance(this, display,
            "http://www.yahoo.com"));
  }

即使没有显示第二个片段,也没有错误消息。理想情况下,两个片段将并排显示。

0 个答案:

没有答案