我有一个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()。
如果您需要对话框的尺寸/位置正确。只需禁用对话框过渡动画(设置为空而不是null)并进行处理即可。然后显示一个没有“插入”动画的新对话框。