Bug? Possibly a bug with GetDeviceLayoutValues

Scantech

Well-Known Member
Licensed User
Longtime User
One thing i learned today is never get device dimensions in pause activity using GetDeviceLayoutValues. You better off passing it to LayoutValues in create event.

Here is the coding that you should never do in pause event. It should be True when at Portrait and then rotating. But it reports false. Technically, the layout has not been created for landscape mode when it was paused in Portrait and getting ready for landscape.

B4X:
Sub Activity_Pause (UserClosed As Boolean)

     Log(isPortraitLayout)
  
End Sub
B4X:
Sub isPortraitLayout() As Boolean
  
    If GetDeviceLayoutValues.Width <= GetDeviceLayoutValues.Height Then
        Log(GetDeviceLayoutValues.Width)
        Log(GetDeviceLayoutValues.Height)
        Log("True")
        Return True
    Else
        Log(GetDeviceLayoutValues.Width)
        Log(GetDeviceLayoutValues.Height)
        Log("False")
        Return False
    End If
End Sub

** Activity (main) Pause, UserClosed = false **
800
480
False
false
** Activity (main) Create, isFirst = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
480
800
True
true
** Activity (main) Create, isFirst = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = true **
 
Top