使用带有 BorderLayout.CENTRE 定位的 Dialog.showPacked() 时出现奇怪的 LWUIT 对话框行为

Posted

技术标签:

【中文标题】使用带有 BorderLayout.CENTRE 定位的 Dialog.showPacked() 时出现奇怪的 LWUIT 对话框行为【英文标题】:Strange LWUIT Dialog behaviour while using Dialog.showPacked() with BorderLayout.CENTRE positioning 【发布时间】:2013-01-23 14:09:07 【问题描述】:

我正在使用 LWUIT for series 40 来制作我的 J2ME 应用程序,我注意到在使用 showPacked() 方法时 LWUIT-Dialog 的一个奇怪行为,该对话框使用 BorderLayout.CENTER 定位。

这种情况尤其发生在触控手机中。

我附上了一张图片来描述我的情况。

对话框最初显示为图像的第一部分。但是,它会在接下来的几秒钟内展开,变得像图像的第二部分所示的那样。

未来使用 showPacked 显示对话框的调用看起来像第三个。我不知道为什么会发生这种情况。我希望我的对话框始终像图像前半部分中显示的那样。哪里有我错了吗?

注意:Dialog的内容是一个动画标签。

【问题讨论】:

你可以给出你实现的代码吗? 【参考方案1】:

我不知道这些人在那里做了什么,但我猜他们重排 UI 过于激进。尝试设置Dialog.setAutoAdjustDialogSize(false),看看能不能解决你的问题。

【讨论】:

我按照你说的做了,现在对话框在第一次尝试时没有调整大小。但在后续调用中它看起来像第二和第三阶段。我所做的就是创建一个带有图像的标签。通过在 lwiit 博客中关注 (today.java.net/pub/a/today/2008/11/20/…) 这篇文章对其进行动画处理。【参考方案2】:

您可以删除标题和背景等。使用下面的代码,它只会让您的动画 GIF 显示带有暗色对话框背景:

setTitle(" ");
setUIID("Null");
setDialogUIID("Null");
getStyle().setBgTransparency(0);
getSelectedStyle().setBgTransparency(0);
getUnselectedStyle().setBgTransparency(0);
getPressedStyle().setBgTransparency(0);
getDialogStyle().setBgTransparency(0);

【讨论】:

以上是关于使用带有 BorderLayout.CENTRE 定位的 Dialog.showPacked() 时出现奇怪的 LWUIT 对话框行为的主要内容,如果未能解决你的问题,请参考以下文章

HBase - 使用带有值列表的一列与使用带有列列表的一列族的优缺点是啥?

如何使用带有或不带有 Appium 的 Robot Framework 集成 WinAppDriver?

使用带有 ajax Rest 调用的 Spring CSRF 和带有 Thymeleaf 的 HTML 页面

如何在带有 React 的 Typescript/JSX 中使用带有箭头函数的泛型?

优化数据库有啥更好的方法:使用带有不同过滤器的一堆存储过程,还是使用带有 if 条件的单个存储过程?

使用带有数据数组的 Yii2 和带有排序和过滤的 Gridview