In the AnimatedDialog class that I shared resize should take pixels, but note that it's the margins, not the dimension
On Sat, 2 Jan 2021, 15:53 'P5music' via CodenameOne Discussions, < [email protected]> wrote: > Thanks > I tried to use the resize method as it seems to be useful in my case. > > backgroundInteractionDialog.resize(0,h,0,w); //w=2048 h=1534 > makes it disappear completely (w,h are the screen dimensions). > > instead > backgroundInteractionDialog.resize(0,100,0,100); > makes the backgroundInteractionDialog almost the size of the screen. > It seems that the values are not in pixels (?). > > Regards > Il giorno sabato 2 gennaio 2021 alle 16:07:20 UTC+1 [email protected] > ha scritto: > >> Hi P5, >> >> I took a similar path as yours some time ago. Instead of extending >> InteractionDialog, I created a separate class with similar functionality >> and tweaked part of its code. I recall that extending it wasn't working. >> >> I am sending you my version of it, perhaps you will find it useful.. >> Sample usage: >> >> Form f = getCurrentForm(); >> AnimatedDialog newDlg = new AnimatedDialog(); >> newDlg.setLayout(new BorderLayout()); >> Label titleLable = new Label("some title"); >> titleLable.getAllStyles().setAlignment(Component.CENTER); >> Container myTitle = new Container(new BorderLayout()); >> Border lineBorder = Border.createLineBorder(2, 0x33b5e5); >> Border emptyBorder = Border.createEmpty(); >> Border newBorder = Border.createCompoundBorder(emptyBorder, >> lineBorder, emptyBorder, emptyBorder); >> myTitle.getAllStyles().setBorder(newBorder); >> myTitle.add(BorderLayout.CENTER, titleLable); >> newDlg.add(BorderLayout.NORTH, myTitle); >> Button okBtn = new Button("OK"); >> okBtn.getUnselectedStyle().setAlignment(4); >> okBtn.addActionListener(e -> { >> newDlg.disposeToTheTop(); >> }); >> FlowLayout centerLayout = new FlowLayout(); >> centerLayout.setValign(CENTER); >> Container boxCenter = new Container(centerLayout); >> SpanLabel msgLbl = new SpanLabel("some msg"); >> boxCenter.add(msgLbl); >> newDlg.add(CENTER, boxCenter); >> newDlg.add(BorderLayout.SOUTH, okBtn); >> int msgHeight = boxCenter.getPreferredH(); >> int height = newDlg.getPreferredH(); >> int width = newDlg.getPreferredW(); >> int sideMargins = (f.getWidth() - width - 30) / 2; >> int verticalMargin = (f.getHeight() - height - >> f.getToolbar().getHeight()) /2; >> newDlg.setDisposeWhenPointerOutOfBounds(true); >> newDlg.setAnimationSync(true); >> newDlg.show(verticalMargin/2, verticalMargin + verticalMargin/2, >> sideMargins, sideMargins); >> int newMsgHeight = boxCenter.getPreferredH(); >> if(newMsgHeight != msgHeight) >> { >> int newHeight = (newMsgHeight - msgHeight) + height; >> int newVerticalMargin = (f.getHeight() - newHeight - >> f.getToolbar().getHeight()) /2; >> newDlg.resize(verticalMargin/2, verticalMargin/2 + >> (newVerticalMargin - (verticalMargin - newVerticalMargin)), sideMargins, >> sideMargins, false); >> } >> >> >> >> On Mon, 28 Dec 2020 at 09:22, 'P5music' via CodenameOne Discussions < >> [email protected]> wrote: >> >>> (Merry Christmas) >>> >>> My app now features a new dialog class, I called it CommandDialog. It >>> leverages both the features of InteractionDialog and Dialog, so the show() >>> method now returns a Command. >>> This class has to be completed to be fully functional: >>> I subclassed InteractionDialog so now I need to prevent the mouse events >>> from hitting the underlying components in the form. >>> I tried >>> form.setGrabsPointerEvents(false); >>> form.setIgnorePointerEvents(true); >>> but they seem not to be working at all. Furthermore they seem to be the >>> same instruction with negated boolean parameter. >>> Moreover I need the setDisposeWhenPointerOutOfBounds(value) feature that >>> also seem not to be working. >>> >>> I need a workaround if necessary. I have some ideas but maybe something >>> simple is available. >>> >>> This applies also to the InteractionDialog itself. >>> >>> Thanks in advance >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "CodenameOne Discussions" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/codenameone-discussions/dc0981af-019d-4433-8658-f8b39d326f3dn%40googlegroups.com >>> <https://groups.google.com/d/msgid/codenameone-discussions/dc0981af-019d-4433-8658-f8b39d326f3dn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "CodenameOne Discussions" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/codenameone-discussions/46dda134-a710-443b-9f6e-6d4ee42894d4n%40googlegroups.com > <https://groups.google.com/d/msgid/codenameone-discussions/46dda134-a710-443b-9f6e-6d4ee42894d4n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/CAG90yJ3ciFNR2NUUTxdS7ROcNB7-vXV-u9oJTGiy%2BviNyaFkKw%40mail.gmail.com.
