If you read the messages and look at the image attachments you understand that the user interface has its layout as carefully designed.
You agree that I am asking that those buttons are in the scrollable area just because they will be used as an handle to scroll. If I prevent all buttons, or some of them, from scrolling there is no room for the BC in landscape mode. So what you say is totally off track. I cannot explain things better than this. I have the constant impression you are kidding, but rather you are deceiving yourself. But I have to finish this app as a fallback for iOS<14 (provided that it works correctly in the iOS simulator for certain things still to be checked), so whatever. I will find something by myself. Regards Il giorno giovedì 1 aprile 2021 alle 05:25:49 UTC+2 Shai Almog ha scritto: > Just place the buttons outside of the scrollable container I don't > understand the problem. > E.g. a south container in a border layout where the box layout Y is > scrollable and in the center. > > On Wednesday, March 31, 2021 at 9:41:41 AM UTC+3 P5music wrote: > >> Don't be concerned for native apps, they work, for example the Android >> counterpart of my CodenameOne app itself is not affected by this issue >> without any workaround. >> >> Back to the CodenameOne world, what about the question n° 2? >> I will break down the request: >> first of all, forget the BC, imagine it is not even in the layout, now my >> request is: >> -how can I stop the scrolling of the BoxLayout.y with buttons >> so that >> a line of buttons remains visible when the user has scrolled down the >> entire UI? >> >> I think it is not impossible, I asked here also for other developer's >> help. Please check attachments in my previous message. >> But I think in the end I will have an idea. >> If it not feasible I can ponder on disabling the landscape mode of my app >> on phones, but this would a serious limitation. >> >> If you know an elegant way with containers please tell me. Or even a >> workaround. >> Thank you >> Il giorno mercoledì 31 marzo 2021 alle 03:58:01 UTC+2 Shai Almog ha >> scritto: >> >>> I don't think there's a solution for that. I suggest rethinking your UI >>> design so the BC is in a single form. Notice that a lot of native apps also >>> take that approach because it's REALLY hard to distinguish swipes from edit >>> actions. That makes the process inconvenient to users. Just have them click >>> to edit and move to a form where the BC is in the center of the form. >>> >>> On Tuesday, March 30, 2021 at 9:40:44 AM UTC+3 P5music wrote: >>> >>>> Yes, as said in my previous message, the BC is editable. The keyboard >>>> appears when the user taps into it to write >>>> but >>>> it appears also when trying to scroll the BC to scroll the entire UI. >>>> The BC is not inside a BorderLayout, instead it is inside a BoxLayout.y >>>> The trick is that the BC has a large preferred H so it scrolls together >>>> with the other UI parts, when scrolling outside of the BC. >>>> If the user tries to scroll from the inside of it, the touch keyboard >>>> appears. >>>> It is wrong in all scenarios I think. >>>> In particular it is wrong in my scenario where I want that the user can >>>> scroll the UI. >>>> >>>> 1- Any possible solution or workaround for the issue of keyboard >>>> appearing when scrolling? >>>> This was the first question, it is about the issue of the keyboard >>>> appearing. >>>> >>>> This is another question, it is about the scrolling: >>>> 2 - My idea is to stop the scrolling at a certain point >>>> and a piece of the other UI is always available for the user as an >>>> "handle" to scroll back. The BC is at bottom, the other components are at >>>> top. >>>> Is it possible to achieve it in an elegant way with containers and >>>> things like that? Or with some workaround? >>>> I mean, I want that the scroll stops before all the other components >>>> are "gone". Let's say that a small area, like 1 cm, remains visible, no >>>> further scrolling possible. >>>> Please have a look to the attached images: the first image to see is >>>> named "landscape_mode", the second image is named >>>> "scrolled_UI_lanscape_mode". >>>> >>>> Regards >>>> >>>> Il giorno martedì 30 marzo 2021 alle 04:23:56 UTC+2 Shai Almog ha >>>> scritto: >>>> >>>>> I don't follow. What causes the keyboard to appear? >>>>> If there a text component within the browser component? Outside of it? >>>>> >>>>> On Monday, March 29, 2021 at 9:56:17 AM UTC+3 P5music wrote: >>>>> >>>>>> I checked the code and that line is already present >>>>>> setNativeScrollingEnabled(false) >>>>>> It seems that the problem is in fact the touch keyboard: >>>>>> it appears not only when tapping inside the editable area >>>>>> but >>>>>> also when scrolling >>>>>> so that the keyboard appears and the BC does not scroll as expected >>>>>> in the layout. >>>>>> Coud it be an issue? >>>>>> >>>>>> [Or maybe it would not scroll anyway. >>>>>> This leads to my originas question] >>>>>> >>>>>> 1- Any possible solution or workaround for the issue of keyboard >>>>>> appearing when scrolling? >>>>>> >>>>>> My only idea is to stop the scrolling at a certain point so it is not >>>>>> complete >>>>>> and a piece of the other UI is always available for the user as an >>>>>> "handle" to scroll back. >>>>>> 2 - Is it possible to achieve it in an elegant way with containers >>>>>> and things like that? Or with some workaround? >>>>>> >>>>>> Regards >>>>>> >>>>>> Il giorno sabato 27 marzo 2021 alle 05:40:40 UTC+1 Shai Almog ha >>>>>> scritto: >>>>>> >>>>>>> There's setNativeScrollingEnabled(false) on the browser component >>>>>>> but it's designed for small snippets of browser component not for large >>>>>>> ones. Not sure how well it will behave in a larger case. >>>>>>> >>>>>>> On Friday, March 26, 2021 at 7:52:38 PM UTC+3 P5music wrote: >>>>>>> >>>>>>>> I solved the Layout problems by getting rid of the BorderLayout >>>>>>>> because in my particular case it is not needed. >>>>>>>> Indeed I set the preferredHeight of the BrowserComponent and of its >>>>>>>> content to a large value. >>>>>>>> Now it is added to a BoxLayout.y() and the user can scroll the >>>>>>>> entire interface, >>>>>>>> but it seems that the scroll is lost if the other components goes >>>>>>>> up too much and just the BC is visible. >>>>>>>> >>>>>>>> I do not need the scrolling in the BC at all, but I would like that >>>>>>>> the user can scroll the entire interface even if the only visible >>>>>>>> component >>>>>>>> is the BC and the other ones are up too much. >>>>>>>> >>>>>>>> Is it possible to disable the BC scrolling effectively? (setting >>>>>>>> the scrollableY has no effect) >>>>>>>> It is not in a BorderLayout, so it has not to take over at all like >>>>>>>> you say, it is not needed. >>>>>>>> Thanks in advance >>>>>>>> >>>>>>>> >>>>>>>> Il giorno venerdì 19 marzo 2021 alle 08:08:54 UTC+1 Shai Almog ha >>>>>>>> scritto: >>>>>>>> >>>>>>>>> Scrolling can only be handled by one element. The browser >>>>>>>>> component is native so only it can scroll. That's why it's in the >>>>>>>>> center of >>>>>>>>> the form. Center is a special case where scrolling is disabled and >>>>>>>>> size is >>>>>>>>> determined by available space. So native scrolling in the BC takes >>>>>>>>> over. >>>>>>>>> If you add Codename One based scrolling they'll collide and you'll >>>>>>>>> get a jumping mess that looks and feels awful. It's an either/or >>>>>>>>> situation. >>>>>>>>> >>>>>>>>> On Thursday, March 18, 2021 at 10:31:07 AM UTC+2 P5music wrote: >>>>>>>>> >>>>>>>>>> I tried what you suggest, even it is not what I meant. >>>>>>>>>> As expected it does not work, because the container in the north >>>>>>>>>> position has not to scroll inside itself. >>>>>>>>>> >>>>>>>>>> Also my idea was not good in the original form I proposed above, >>>>>>>>>> so this is the new version: >>>>>>>>>> >>>>>>>>>> I think that the scrolling of the entire BL (mainContainer) has >>>>>>>>>> to happen, in fact it happens even with scrollableY=false. >>>>>>>>>> Now I put true but it is the same. >>>>>>>>>> >>>>>>>>>> The text inside the BC has some strange scrolling, for example if >>>>>>>>>> the caret is on the bottom (so there is a lot of text above that has >>>>>>>>>> scrolled inside the BC) I can scroll back touching on the beginning >>>>>>>>>> of the >>>>>>>>>> text, and it scrolls at chunks. Better than nothing. >>>>>>>>>> But If I am in landscape mode, it is the container in the north >>>>>>>>>> that is lost at sight. >>>>>>>>>> >>>>>>>>>> It is why I would like to pass the touch move events to the >>>>>>>>>> underlying mainContainer. >>>>>>>>>> Of course they would be filtered and they would pass only when >>>>>>>>>> the BC is in the very top scroll position, otherwise they would be >>>>>>>>>> used to >>>>>>>>>> scroll the BC itself. >>>>>>>>>> >>>>>>>>>> Is it possible? >>>>>>>>>> Il giorno giovedì 18 marzo 2021 alle 04:09:14 UTC+1 Shai Almog ha >>>>>>>>>> scritto: >>>>>>>>>> >>>>>>>>>>> Make the container in the north scrollable on Y axis e.g. >>>>>>>>>>> northContainer.setScrollableY(true). >>>>>>>>>>> Make sure it has a layout such as BoxLayout Y. >>>>>>>>>>> >>>>>>>>>>> On Wednesday, March 17, 2021 at 5:25:10 PM UTC+2 P5music wrote: >>>>>>>>>>> >>>>>>>>>>>> @Javier >>>>>>>>>>>> It is enough that the UI scrolls, not the BC content, its >>>>>>>>>>>> height is set at large so it seems very large. >>>>>>>>>>>> The user just can touch inside it to set the caret position >>>>>>>>>>>> when editing. >>>>>>>>>>>> About what you meant about the BC being alone it is not >>>>>>>>>>>> necessary. >>>>>>>>>>>> >>>>>>>>>>>> However what I meant is that >>>>>>>>>>>> when the user edits inside the BC the touch-keyboard appears >>>>>>>>>>>> and the NORTH part is lifted up and it is lost at sight, so the >>>>>>>>>>>> user has >>>>>>>>>>>> not any area to drag to scroll back. But the scrolling works >>>>>>>>>>>> before it >>>>>>>>>>>> happens. >>>>>>>>>>>> In Android two scrolling areas are certainly possible, and one >>>>>>>>>>>> can be used when the other has reached its limit. >>>>>>>>>>>> I know this is not possible with CodenameOne. >>>>>>>>>>>> I am assessing whether my app can be published. There are also >>>>>>>>>>>> some checks about the filesystem that would be possible only in >>>>>>>>>>>> the iOS >>>>>>>>>>>> simulator, I do not know when that new CN feature is available. I >>>>>>>>>>>> am >>>>>>>>>>>> finishing my Swift project, at least for iOS 14>. >>>>>>>>>>>> >>>>>>>>>>>> Regards >>>>>>>>>>>> >>>>>>>>>>>> Il giorno mercoledì 17 marzo 2021 alle 16:06:31 UTC+1 >>>>>>>>>>>> [email protected] ha scritto: >>>>>>>>>>>> >>>>>>>>>>>>> Right, so what I meant is that there can only be 1 BC in >>>>>>>>>>>>> CENTER, and nothing anywhere else in the BL. You can't safely >>>>>>>>>>>>> scroll a BC, >>>>>>>>>>>>> the scrolling is in the BC itself >>>>>>>>>>>>> >>>>>>>>>>>>> This is accurate as far as I know >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, 17 Mar 2021 at 14:32, 'P5music' via CodenameOne >>>>>>>>>>>>> Discussions <[email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> @Javier >>>>>>>>>>>>>> of course it is in the CENTER of a BL, just there is >>>>>>>>>>>>>> something NORTH too. Do not worry. >>>>>>>>>>>>>> It has also callbacks inside, like you say. >>>>>>>>>>>>>> The question is now how to allow the scrolling back when the >>>>>>>>>>>>>> touch keyboard has scrolled the UI too much. >>>>>>>>>>>>>> Regards >>>>>>>>>>>>>> Il giorno mercoledì 17 marzo 2021 alle 14:09:20 UTC+1 >>>>>>>>>>>>>> [email protected] ha scritto: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I think this has been discussed before. BrowserComponent is >>>>>>>>>>>>>>> meant to be used in the center of a BorderLayout Form. Avoid >>>>>>>>>>>>>>> mixing it with >>>>>>>>>>>>>>> other components other than a toolbar. If you want to add stuff >>>>>>>>>>>>>>> next to >>>>>>>>>>>>>>> your BC, add it in the html and pass callbacks >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, 17 Mar 2021 at 11:48, 'P5music' via CodenameOne >>>>>>>>>>>>>>> Discussions <[email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I have some troubles with the scrollable feature of >>>>>>>>>>>>>>>> Containers when a BrowserComponent is involved, especially on >>>>>>>>>>>>>>>> simulator. >>>>>>>>>>>>>>>> I can have some good functioning on Android if I assign a >>>>>>>>>>>>>>>> large height to its content. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> In certain cases the BrowserComponent takes all the space >>>>>>>>>>>>>>>> in the UI. >>>>>>>>>>>>>>>> My app has an editing screen that has some controls on the >>>>>>>>>>>>>>>> top part, and a BC on the bottom part. >>>>>>>>>>>>>>>> The UI scrolls but when I start writing into the BC it >>>>>>>>>>>>>>>> takes all the space and it is not possible to scroll back or >>>>>>>>>>>>>>>> to see or >>>>>>>>>>>>>>>> regain control of the top part of the UI. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I would like to pass the touchmove events to the underlying >>>>>>>>>>>>>>>> Container. >>>>>>>>>>>>>>>> It is a special event that I use along with touchstart and >>>>>>>>>>>>>>>> touchend to ensure the scroll events are filtered, but it is >>>>>>>>>>>>>>>> used in >>>>>>>>>>>>>>>> another BrowserComponent. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Now I want to use it to create a smooth user experience for >>>>>>>>>>>>>>>> this BC, passing it in a transformed form to the underlying >>>>>>>>>>>>>>>> Container. So I >>>>>>>>>>>>>>>> am not going to pass it directly. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I just want to know what method I have to call on the main >>>>>>>>>>>>>>>> underlying container to make it scroll. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 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/dbbb198e-68ca-4b21-aa2b-0a98411769cbn%40googlegroups.com >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/codenameone-discussions/dbbb198e-68ca-4b21-aa2b-0a98411769cbn%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/9ea2af3a-6200-4284-9362-6c136f8518fdn%40googlegroups.com >>>>>>>>>>>>>> >>>>>>>>>>>>>> <https://groups.google.com/d/msgid/codenameone-discussions/9ea2af3a-6200-4284-9362-6c136f8518fdn%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/40151ae4-0a32-4091-a4cc-eda5aad6200dn%40googlegroups.com.
