Page 1 of 2

LC 6.6.2, Android and 'fullscreenmode'

Posted: Thu Sep 11, 2014 6:39 pm
by Traxgeek
Is it just me or does the 'set fullscreenmode of this stack to "xxxxx" not work on an Android device ?

I have LC 6.6.2, an ASUS Transformer TF700 running Android 4.1.1

I can cycle through the various options available to 'fullscreenmode' on the device (with a wee 'answer' dialogue to confirm something's meant to be happening) but nothing does.

Anyone suffered this - or is it just me / something I'm doing wrong please? - just to put me out of my misery !!

Thanks a mil folks.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Thu Sep 11, 2014 6:43 pm
by sefrojones
I use:

Code: Select all

set the fullscreenmode of this stack to "exactfit"

In the preopenstack handler of all my android projects without issue.

--Sefro

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Thu Sep 11, 2014 9:20 pm
by Traxgeek
Hi'ya, thanks.
Yeah, strange. That's what I do in my preopen script too
Didn't work so I added a button on my splash screen to enable me to cycle through the 5 options... The app runs and correctly reports the fullscreenmode before and after a change... But nothing actually changes...

No other ideas ? Nothing to do with 6.6.2 ?

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Thu Sep 11, 2014 9:29 pm
by sefrojones
Is it in the preopenstack of your splash screen stack, the propenstack of your mainstack, or both? I would think it should be in both, but I'm not sure as I haven't used splash screens on any of my projects.

--Sefro

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 7:44 am
by Traxgeek
Hmmm... my wording isn't good... when I said 'splash screen', i should have said my opening/home page that does pop up for a while and disappear but... I guess is NOT, technically, a 'splash screen' per se - well, not along the lines of the research I've just done to determine the proper meaning of it... Sorry.

So, I just have the one stack I'm currently concerned with and have :
on preOpenStack
local sMode
if the environment is "mobile" then
put "exactFit" into sMode
set the fullscreenmode of me to sMode
answer "FullScreenMode set to : " & sMode
# set the acceleratedrendering of me to true #REMOVED - Bumps the screen up (by the height of the keyboard) when the keyboard is displayed (not always though)
end if
end preOpenStack


and as the mouseup of a button on my 'home' card which is in that stack :

on mouseup

#TEST - START
local sCM, sNM

put the fullscreenmode of this stack into sCM

if sCM = "exactFit" then
put "letterbox" into sNM
else if sCM = "letterbox" then
put "noborder" into sNM
else if sCM = "noborder" then
put "noscale" into sNM
else if sCM = "noscale" then
put "showall" into sNM
else
put "exactfit" into sNM
end if

set the fullscreenmode of this stack to sNM
answer "FullScreenMode changed from : " & sCM & " to : " & sNM

#TEST - STOP
end mouseup

It's strange cos, whilst it's not unknown for LC to just ignore all others code lines following a it encounters that it 'dislikes' (and not report it to you), in this case, my 'Answer' pop-up (after the code line that's giving me issues) IS run / does pop-up and tell me it's done the job...

I even changed the last line of my mouseup snippet to read :
answer "FullScreenMode changed from : " & sCM & " to : " & sNM & " (" & the fullscreenmode of this stack & ")"

Which then not only reports what I THINK I've set the fullscreenmode to but what LC thinks it's currently set to (too) !!!
Needless to say I LC reports that its fullscreenmode is indeed what I think it is - thinking about it.... it must be, in order for the mouseup snippet to cycle through the various options... Awwwhh... D'Oh...

Any ideas... Bizarre !!
Thanks a mil.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 2:53 pm
by newtronsols
May be best to try another version of LC to see what happens. I use 6.7 (dp 4) commercial and it builds quickly via USB on android.

I wish there was "exactfit" to the scrolling area of the screen - so apps would work on different mob phones and in landscape - without complex code.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 4:49 pm
by Traxgeek
Hi Newtronsols,

Unfortunately, the only LC version I can get to work with my Android SDK / JDK is 6.6.2 - been trying for months (on and off - since 5.5.4 in fact) to get this going and finally, I have (with the help of this forum, and RunRevNeil - well done guys !).

I just logged in to my account on the RR/LC site but can't seem to find any mention of 6.7 - available downloads seem to jump for 6.6.4 to 7.0...

I am beginning to think this is a version issue though... Just wish I could test it. Did my code look OK to you ?

Reading back through your response : I wish there was "exactfit" to the scrolling area of the screen - so apps would work on different mob phones and in landscape - without complex code. I thought that was (basically) what the 'fullscreenmode' property achieved (although, until I can get something working, I'm not at all sure about landscape - seems to me you'd need to code two different screens (pretty much - well, for my data based apps I think I would - otherwise, with the huge change in aspect ration, I'd end up with very thin and overly long controls which would be very hard to read / use... ) Hmmm... got me thinking... I REALLY want to play with this feature... grrrrr...

Thanks.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 5:06 pm
by jacque
The display mode only takes effect when the window is redrawn, so setting it from a card button won't do anything. That's why it's usually set in a preOpenStack handler, which runs before the window is shown.

To test changes, try putting the cycling commands in preOpenStack and repeatedly relaunching your app.

Edit: oops, the fullscreen mode isn't saved between launches so that won't work. I don't see any other way to test besides changing the script and recompiling.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 5:16 pm
by Klaus
Hi Trax,
Traxgeek wrote:I just logged in to my account on the RR/LC site but can't seem to find any mention of 6.7 - available downloads seem to jump for 6.6.4 to 7.0...
please bookmark this page: http://downloads.livecode.com/livecode/ :D


Best

Klaus

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 5:30 pm
by Traxgeek
Aha - thanks Jacque.

I didn't see any ref to this in the docs and didn't give it a thought - I had thought that maybe I'd need to force a re-draw/switch cards but... that's why my 'ever-so-clever' NOT snippet doesn't work once the app is fired up... LC does 'think' it's changed modes though - which threw me ! Thanks... I'll try some other modes and recompile between each...

And Klaus - as usual - thanks ! Dunno why this isn;t avaialble via my 'account' area. Downloading now...

Itching.... .... I'll report back.

Thanks a million.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 6:23 pm
by Traxgeek
Hmmm... seems like I'm not having any luck !

Tried all five modes on a Sony Xperia, a TF701 and an HTC...
My stack size is like 880 x 640 (or thereabouts)
the Sony Xperia is 1280 x 720
the TF701 is 2650 x 1600
the HTC Desire HD is 800 x 480
Always my stack is in the top left corner and when invoked, my sub stacks (like answer dialogs which all pop up in the middle of my Mac and Windows versions of the app) blank the main stack completely and similarly locate themselves at the top left...

My code's wrong somewhere... I'll go investigate...
In the mean time - thanks all.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Fri Sep 12, 2014 7:12 pm
by Simon
...blank the main stack completely...
Yeah, a stack will take up the full screen always.
...and similarly locate themselves at the top left...
I've seen my apps start off top left but they then fill the screen, there was a bug similar to this but it occurred when returning from sleep and was fixed (I forget which version). I'm still working with 6.6.1 as the screen transitions on Windows with 6.6.2 give me the creeps.

Simon

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Sat Sep 13, 2014 9:49 am
by Traxgeek
Thanks Simon.

Now that I have the capability to test my apps on my Android devices (I've been trying on and off without success for months) I had a thought... I'll go make a real simple one card stack and test it with the various properties of 'fullscreenmode' . I'll revert with my results etc...

In the meantime, Simon;s raised another (I think relevant) question. I'll try and explain my scenario/reasoning and then put the question.

I didn't like the constraints of the standard LC Answer dailog (really can't remember why or what they were now :oops: but it seemed a good idea at the time anyway :mrgreen: ) and wanted to add some additional capability so rolled my own. I created a Text input card, a Number input card, an e-Mail address input card, a Calculator card, a Calendar card... etc... etc... and dumped them all in a sub-stack (named it my dialog stack) which is callable from the main stack as and when needed.
The size of each of my cards in the sub(Dialog)-stack is around 1/2 of the size of the cards in my main stack.
I centre the sub-stack on my main stack (in the pre-open main stack script).
On Win and Mac OS-es the sub-stack (when called) pops up (displaying the relevant card) above the main stack (the card that called it), blocks that calling card (on the main stack), takes the user's input and makes that input available to the calling card (on the main stack) when the sub-stack is closed and originating card is redisplayed.
Perfect... I think...
Well... until Simon's post...
Simon wrote:Yeah, a stack will take up the full screen always.
Blast ! So, for Win and Mac OS'es I can centre my sub-stack on the calling main-stack (I do that now) and (when called) it'll pop-up, floating over the calling main stack... but for mobile (Android specifically at the moment) I can't do that ? How would I centre my sub-stack nicely (prettily) on my main stack ?

Oh well... lots to learn, lots of stings in many tails, I feel... Off to try a simple stack...

Once again, thanks a million guys. Have a great weekend.

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Sat Sep 13, 2014 10:43 am
by Traxgeek
OK guys - here we go !
Kinda helps... (still doesn't tell me why me existing stack doesnie work ! But ...

I've attached a demo stack (took 15 mins tops to create). (first time I've done this... so... apologies if I've not followed any particular protocol...)
stkTest.livecode.zip
FullScreenMode Test
(59.97 KiB) Downloaded 247 times
Use it and abuse it as you will... It really does demonstrate, really clearly, all available 'fullscreenmode' options... AND.... tapping (where your asked to) DOES change the mode on the fly...

VERY impressive ! (well, I'm impressed anyways ! - - - not with my immense programming skills you understand :lol: but with those rather clever chaps at RR ! Bravo ! )

Like I say, impressive ! 8)

Unfortunately, :( it doesn't really help me with my existing stack issue - so any ideas as to what to omit from that (and then re-test) would be really helpful !

Onwards and upwards !

Finally (just in case) this was created on a Mac running Mavericks, with LC 6.6.2 and Android SDK r23 (with ZipAlign dropped in).

Have a great weekend... now... where's my issue then ? ? ? hmmm...

Re: LC 6.6.2, Android and 'fullscreenmode'

Posted: Sat Sep 13, 2014 7:03 pm
by Simon
How would I centre my sub-stack nicely (prettily) on my main stack ?
Well for mobile I'd change all the "answer" stacks to groups (then group them into one) of the main stack then show/hide as needed.
OK so that is a pain as then that group has to be put on all cards of the main stack, but maybe it will work for you. It's the only way to get that half card size on mobile.

SImon