代号一刷新对话框
Codename One refresh dialog
我有一个 Android 应用程序,我想在其中刷新打开的对话框的布局。
对话框有一个容器,里面有一个按钮和一个标签,当对话框打开时,我想通过按钮操作更改标签内的文本和容器在屏幕上的位置。
标签内的文字发生变化,但容器的位置没有变化。有什么办法可以做到这一点?
非常感谢...这是我的代码:
Button buttonDialog = new Button("Yes");
Container container = new Container (new BorderLayout ());
SpanLabel spanLabel = new SpanLabel("One");
Dialog dialogStart = new Dialog("Button", new BoxLayout (BoxLayout.Y_Axis));
dialogStart.getTitleStyle().setFgColor(0xcccccc);
dialogStart.getTitleStyle().setBorder(Border.createEmpty());
dialogStart.getTitleStyle().setFont(Font.createSystemFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_LARGE));
dialogStart.setDisposeWhenPointerOutOfBounds(false);
dialogStart.setScrollable(false);
dialogStart.setScrollVisible(false);
dialogStart.setLayout(new BorderLayout());
container.add(BorderLayout.CENTER, spanLabel);
container.add(BorderLayout.SOUTH, buttonDialog);
dialogStart.add(dialogStart);
buttonDialog.addActionListener(l->{
spanLabel.setText("Two");
containerDialog.getAllStyles().setMargin(1000,100,500,150); // does not work
dialog.repaint(); // does not work
dialog.refreshTheme(); // does not work
});
删除所有这些黑客。使用专为此用例构建的 growOrShrink()。
如果您需要对话框精确size/location。只需禁用对话框过渡动画(设置为空而不是 null)并处理它。然后显示一个没有 "in" 动画的新对话框。
我有一个 Android 应用程序,我想在其中刷新打开的对话框的布局。
对话框有一个容器,里面有一个按钮和一个标签,当对话框打开时,我想通过按钮操作更改标签内的文本和容器在屏幕上的位置。
标签内的文字发生变化,但容器的位置没有变化。有什么办法可以做到这一点?
非常感谢...这是我的代码:
Button buttonDialog = new Button("Yes");
Container container = new Container (new BorderLayout ());
SpanLabel spanLabel = new SpanLabel("One");
Dialog dialogStart = new Dialog("Button", new BoxLayout (BoxLayout.Y_Axis));
dialogStart.getTitleStyle().setFgColor(0xcccccc);
dialogStart.getTitleStyle().setBorder(Border.createEmpty());
dialogStart.getTitleStyle().setFont(Font.createSystemFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_LARGE));
dialogStart.setDisposeWhenPointerOutOfBounds(false);
dialogStart.setScrollable(false);
dialogStart.setScrollVisible(false);
dialogStart.setLayout(new BorderLayout());
container.add(BorderLayout.CENTER, spanLabel);
container.add(BorderLayout.SOUTH, buttonDialog);
dialogStart.add(dialogStart);
buttonDialog.addActionListener(l->{
spanLabel.setText("Two");
containerDialog.getAllStyles().setMargin(1000,100,500,150); // does not work
dialog.repaint(); // does not work
dialog.refreshTheme(); // does not work
});
删除所有这些黑客。使用专为此用例构建的 growOrShrink()。
如果您需要对话框精确size/location。只需禁用对话框过渡动画(设置为空而不是 null)并处理它。然后显示一个没有 "in" 动画的新对话框。