java - 为什么在调用 .show() 时使用在构造函数中传递的自定义组件创建弹出对话框显示空白对话框?
问题描述
我正在开发一个 Harmony 应用程序,我想在其中创建一个带有自定义组件的弹出对话框。
我试过这个
Component customComponent = LayoutScatter.getInstance(context)
.parse(ResourceTable.Layout_custom_dialog, null, false);
// I have already made custom component
PopupDialog popupDialog = new PopupDialog(getContext, customComponent);
popupDialog.show();
运行此之后,我只看到一个白色背景框并且自定义组件不可见。
为什么new PopupDialog(getContext, customComponent);
不设置 customComponent.
解决方案
请检查自定义组件的高度和宽度是否正确设置。
或者您可以在实例化弹出对话框时分配值,例如 -
PopupDialog popupDialog = new PopupDialog(getContext(), associated, width, height);
此外,您需要在显示之前将自定义组件设置为弹出对话框 -
popupDialog.setCustomComponent(组件);
这是来自 HarmonyOS 开发者网站的示例
推荐阅读
- synchronization - VHDL 多进程
- azure-cosmosdb - ComsosDB 索引。我应该排除它吗
- regex - JavaFX - 带有正则表达式的邮政编码文本字段
- excel - 如何随着代码的进展更新用户表单内容
- python - 在存储在列表中的字符串中插入 200 个变量
- github-pages - GitHub Pages 用户项目自定义域
- javascript - Gmail API 预设回复
- firebase - Firebase ImageMagick 转换:无法读取字体
- python - 如何在 python 和 excel 中使用种子生成相同的随机数?
- javascript - 在值之前和之后用零动态填充 Javascript 数组的算法