Place a breakpoint in the method and look at the preferred size of the 
preferred size of the dialog before you show it. I'm guessing it will be 
small. 
Showing a browser component in a dialog isn't a use case we ever intended 
so I doubt this will work.

On Tuesday, December 15, 2020 at 10:38:15 AM UTC+2 P5music wrote:

> As I said the measurement is OK, that is, I have the right dimensions. 
> Also in the debugging I see the correct values, but it is the 
> InteractionDialog that does not resize accordingly. Can you check my code 
> as to the size change of the InteractionDialog? All is done after the page 
> loading, so it is why the measurements are right but it does not resize.
> Thanks
>
> Il giorno martedì 15 dicembre 2020 alle 05:15:26 UTC+1 Shai Almog ha 
> scritto:
>
>> Are you placing a BrowserComponent in an interaction dialog?
>> That's no a great idea.
>>
>> BrowserComponent doesn't know its size since it didn't load the HTML yet 
>> and does it asynchronously. You need to determine the size for it not the 
>> other way around. 
>>
>> On Monday, December 14, 2020 at 10:57:09 AM UTC+2 P5music wrote:
>>
>>> I had to change the user experience of one form in my app because I 
>>> couldn't have both a TextArea and a BrowserComponent to have the "fill 
>>> parent" behaviour.
>>> I decided to display the webview in an alert dialog.
>>> The width of the webview has to be as large as the lesser dimension 
>>> of  screen, that is passed as the width parameter, for example the skin I 
>>> am testing onto has 1534 (it is the height in landscape mode).
>>> Also the height of the dialog is calculated to be as large as to display 
>>> a button and the webview.
>>>
>>> But I get the tiny dialog that can be seen in the attached image.
>>>
>>> How can this be fixed sticking with InteractionDialog?
>>>
>>> Notice that the rectangle has right dimensions, as expected to be in the 
>>> user interface:
>>> x = 983 y = 729 size = width = 1534 height = 104 (debug values)
>>> but the dialog does not spread.
>>> In the code below there are some utility methods that work seamlessly 
>>> with other dialogs, to set the correct appearance. Just this dialog is not 
>>> working.
>>>
>>> Thanks in advance
>>>
>>> public static void testWebViewAlertDialog( String s1, String s2,int 
>>> width)
>>> {
>>> InteractionDialog alertDialog=new InteractionDialog(s1);
>>> Button okButton=new Button(R.okCommand);
>>> alertDialog.setLayout(BoxLayout.y());
>>> Container c1=new Container();
>>> c1.setLayout(BoxLayout.y());
>>>
>>> okButton.addActionListener(new ActionListener() {
>>> @Override
>>> public void actionPerformed(ActionEvent evt) {
>>> alertDialog.dispose();
>>> }
>>> });
>>> c1.setLayout(new BorderLayout());
>>>
>>>
>>>
>>> BrowserComponent testWebView=new BrowserComponent();
>>>
>>>
>>> testWebView.addWebEventListener("onLoad", new ActionListener() {
>>> @Override
>>> public void actionPerformed(ActionEvent evt) {
>>> System.out.println("onload test");
>>>
>>>
>>> c1.add(BorderLayout.SOUTH,okButton);
>>> alertDialog.add(c1);
>>> Rectangle rect = getRect(c1);
>>> c1.add(BorderLayout.CENTER,testWebView);
>>> if (width>rect.getWidth()) rect.setWidth(width);
>>>
>>> rect.setHeight(rect.getHeight()+testWebView.getPreferredSize().getHeight());
>>> alertDialog.showPopupDialog(rect);
>>> }});
>>> testWebView.setPage(s2,"");
>>>
>>>
>>> }
>>>
>>

-- 
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/74c7c277-ca42-4f1f-8e13-76af99070eb8n%40googlegroups.com.

Reply via email to