本主题是我最后一篇的主题:How to mirror a fragment to a presentation in Android?
我设法使用CommonsWare Android Components(CWAC)中的“Presentation”库在外部显示器上复制我的片段。
然而,它调整了初始片段的大小以优化演示文稿的用户体验(它在外部屏幕上显示的效果比设备更好)但在我的情况下,我希望相反。
因此,我在图书馆中搜索了它调整原始片段的大小,它显示在类AspectLockedFrameLayout.java
中,更确切地说,在方法void onMeasure(int widthSpec, int heightSpec)
中。
我试图不修改lockedWidth
和lockedHeight
(通过将它们放在评论中)并且它似乎有效:初始片段没有调整大小并且显示适合我。
然而,当我在启动应用程序之前连接外部显示器时应用程序崩溃,这有点烦人。
经过大量测试后,我发现在课程MirroringFrameLayout.java
和方法public void draw(Canvas canvas)
中,变量 bmp 为空,然后崩溃。
你知道问题出在哪里以及如何解决?
非常感谢,
最好的问候。
答案 0 :(得分:0)
我无法轻易调试我看不到的代码。
快速浏览the current MirroringFrameLayout
表示您的问题即将到来,因为draw()
未在Bitmap
中创建initBitmap()
而被触发。这可能是因为没有mirror
,或者因为在调用以下任何方法之前调用了draw()
:
onSizeChanged()
onPreDraw()
onScrollChanged()
如果您能够在库的 umodified 版本中重现此问题,file an issue会有一个演示该问题的项目(或其他有关复制它的说明),我可以尝试解决它。