将片段镜像到演示文稿而不调整其大小

时间:2015-02-09 10:31:28

标签: android commonsware-cwac

本主题是我最后一篇的主题:How to mirror a fragment to a presentation in Android?

我设法使用CommonsWare Android Components(CWAC)中的“Presentation”库在外部显示器上复制我的片段。

然而,它调整了初始片段的大小以优化演示文稿的用户体验(它在外部屏幕上显示的效果比设备更好)但在我的情况下,我希望相反。

因此,我在图书馆中搜索了它调整原始片段的大小,它显示在类AspectLockedFrameLayout.java中,更确切地说,在方法void onMeasure(int widthSpec, int heightSpec)中。

我试图不修改lockedWidthlockedHeight(通过将它们放在评论中)并且它似乎有效:初始片段没有调整大小并且显示适合我。

然而,当我在启动应用程序之前连接外部显示器时应用程序崩溃,这有点烦人。

经过大量测试后,我发现在课程MirroringFrameLayout.java和方法public void draw(Canvas canvas)中,变量 bmp 为空,然后崩溃。

你知道问题出在哪里以及如何解决?

非常感谢,

最好的问候。

1 个答案:

答案 0 :(得分:0)

我无法轻易调试我看不到的代码。

快速浏览the current MirroringFrameLayout表示您的问题即将到来,因为draw()未在Bitmap中创建initBitmap()而被触发。这可能是因为没有mirror,或者因为在调用以下任何方法之前调用了draw()

  • onSizeChanged()
  • onPreDraw()
  • onScrollChanged()

如果您能够在库的 umodified 版本中重现此问题,file an issue会有一个演示该问题的项目(或其他有关复制它的说明),我可以尝试解决它。