Question

Is it possible to select, or to explain, how screen transitions work within the app generated by appixia? At the moment, it always seem to "slide" from one screen to the next, however, I have seen examples when the screen flips on the vertical axis. I am unable to duplicate this behaviour.

Was it helpful?

Solution

Currently (Mobile Engine 5 for iOS), there are two potential screen transitions:

  1. Horizontal slide - This transition appears whenever you are displaying a new instance of an activity. For example, you have an item list and an item is chosen - which displays a new instance of your Item Details activity. This new activity is pushed to the current iOS navigation stack of the current tab (you can go back in the stack by pressing the 'back' button in the navigation bar). The sliding animation is the standard animation performed by iOS when a new screen is pushed into the current navigation stack. Notice that this transition is always used when your next activity is in the same tab.

  2. Screen flip on vertical axis - This transition appears whenever you are displaying an existing instance of an activity. For example, you have the Cart activity in an existing tab, and from a different tab (like the home screen) you want to display this existing activity whenever a button is tapped. Since the Cart activity is already existing (you don't want to create a new instance but use the existing one), a different transition is used to signify this to the user. Notice that this transition is always used when your next activity is in a different tab.

How can you define which of the two options you want? In both cases you specify the link to the next activity module by using some sort of Module field in the conf. The decision whether a new instance is created, or the original instance is used relies on the Singleton field of this module. 90% of your modules will have Singleton = No. This is always the default behavior since you usually want new instances. Special cases where Singleton = Yes is the Cart Activity for example. This is because you want to always use the same cart instance and not push a new one when it's linked to.

If you want an example to show the difference, try the following: Take one of your tabs and make the activity Singleton = Yes - one of the CMS screens of your app is a good candidate. Then, in some other block module (such as StaticBlocksView - in your home screen for example), create a button block. In this button block add a Module link to the CMS activity. Whenever this button is tapped, the app will switch tabs to your CMS activity. If you change Singleton = No on the CMS screen, a new instance of it will be pushed whenever the button is tapped.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top