fullscreenmode and rect of a substack on mobile device ?

Sannyasin Brahmanathaswami brahma at hindu.org
Wed Aug 29 15:38:19 EDT 2018


@Hugh

quick update

your code worked; but only after turning the phone (resize handler sent)

but on preopenstack, preopencard, or opencard

setupStackRect


fails,  because the screenRect is not registered yet (my guess, might be
something else)

https://quality.livecode.com/show_bug.cgi?id=21538


As a result browser is out a place.

Fortunately the user can hit the hardware button  to go back. So not
having my footer is "not big deal." Android users are using to doing that.

So I'm going to release Google Play, can't wait any longer.

But if anyone else expects the screenrect to work on

preopenstack, preopencard, or opencard

if you having trouble.. that's the reason

BR



on Android the device does not appear to "know it rect)

On 8/24/18 4:20 AM, Sannyasin Brahmanathaswami via use-livecode wrote:
> I caught typo.
>
> I get it to work on iOS but not an Android, so I have a ticket to support and that.
>
> in an app, there is a lot change from on stack another, I frequently have add time from Android to keep up (never on iOS)
>
> This is so straight  forward, I have to assume there is bug (just a quess) in the browser widget "knowing" about the screenRect on Android.
> I get the screenrect ( on a button the answer the screen rect).... but the browser widget does pay attention to this following
>
>
>
> on preopenstack
>
>         if isMobile() then
>
>             mobileSetAllowedOrientations "portrait,portrait upside down,landscape left,landscape"
>
>         end if
>
> end preopenstack
>
> ----------------------
>
> # Geometry
>
> on preopencard
>
>         if isMobile() then
>
>             send "setUpStackRect" to me in 500 milliseconds
>
>         end if
>
> end preopencard
>
> on setupStackRect pWidth,pHeight
>
>         if pWidth="" and pHeight="" then
>
>             put the screenRect into tRect
>
>             set the rect of this stack to tRect
>
>             set the topLeft of this stack to item 1 to 2 of tRect
>
>     else
>
>         put the rect of this stack into tRect
>
>         put pWidth into item 3 of tRect
>
>     put pHeight into item 4 of tRect
>
>     set the rect of this stack to tRect
>
>     end if
>
>     set bottom of group "footer" to item 4 of tRect
>
>     set loc group "footer" to round((item 3 of tRect)/2),(item 4 of tRect)-25
>
>     subtract 50 from item 4 of tRect
>
>     set the rect of widget "body" to tRect
>
>     set the topleft of widget "body" to item 1 to 2 of tRect
>
> end setupStackRect
>
> on resizeStack pNewWidth, pNewHeight, pOldWidth, pOldHeight
>
>     # check it is landscape, turn off the navigation Bar
>
>     if pNewWidth > pNewHeight then -- landscape
>
>         put 0, 0, pNewWidth, pNewHeight into tBrowserRect
>
>         set loc widget "body" to ( round(pNewWidth/2), round(pNewHeight/2) )
>
>         hide group "footer"
>
>     else
>
>         put 0, 0, pNewWidth, pNewHeight - 50 into tBrowserRect
>
>         set loc group "footer" to ( round(pNewWidth/2),pNewHeight-25)
>
>         show group "footer"
>
>     end if
>
>     set the rect of widget "body" of me to tBrowserRect
>
> end resizeStack
>
>
>  On 8/23/18 10:17 PM, FlexibleLearning.com via use-livecode wrote:
>
> First, I think you have a typo where "/25" should be "-25"...
>
> Second, for safety, ensure integer values...
>  set loc group "footer" to round((item 2 of tRect)/2), (item 4 of tRect)-25
>
> Third, if still not working on preOpenstack, try...
>
> on preopenstack
>   if isMobile() then
>     mobileSetAllowedOrientations "portrait,portrait upside down,landscape
> left,landscape right"
>   end if
>   hide this stack
> end preopenstack
>
> on openStack
>   setupStackRect
>   show this stack
> end openStack
>
> Hugh






More information about the use-livecode mailing list