Codename一个刷新对话框

问题描述 投票:1回答:1

我有一个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      
});
dialog codenameone
1个回答
0
投票

删除所有这些黑客。使用为此用例专门构建的growOrShrink()

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

© www.soinside.com 2019 - 2024. All rights reserved.