I’ve encountered an issue in B4i when changing the visibility of views after using SetVisibleAnimated. When a view (i.e. Panel1) is hidden with Panel1.As(B4XView).SetVisibleAnimated(Duration, False), it cannot be made visible again using the standard Panel1.Visible = True property. Even calling Panel1.Visible = True followed by SetVisibleAnimated(0, True) does not restore visibility. Only a direct call to SetVisibleAnimated(0, True) works. Example scenarios:
Scenario 1 (does not work – panel stays invisible):
Scenario 2 (does not work – panel stays invisible):
Scenario 3 (works – panel becomes visible):
This behavior happens in B4i only; the exact same code works correctly in B4A.
Scenario 1 (does not work – panel stays invisible):
B4X:
Panel1.As(B4XView).SetVisibleAnimated(500, False)
Sleep(600)
Panel1.Visible = True
Scenario 2 (does not work – panel stays invisible):
B4X:
Panel1.As(B4XView).SetVisibleAnimated(500, False)
Sleep(600)
Panel1.Visible = True
Panel1.As(B4XView).SetVisibleAnimated(0, True)
Scenario 3 (works – panel becomes visible):
B4X:
Panel1.As(B4XView).SetVisibleAnimated(500, False)
Sleep(600)
Panel1.As(B4XView).SetVisibleAnimated(0, True)
This behavior happens in B4i only; the exact same code works correctly in B4A.