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/b857569d-97f4-4e57-bbba-0fa69dcd9e13n%40googlegroups.com.

Reply via email to