You can achieve the result of a RelativeLayout by using a combination of
Column, Row, and Stack widgets. You can specify rules for the widgets
constructors on how the children are laid out relative to the parent.

For a good example of building a RelativeLayout in Flutter,
see Collin’s answer on StackOverflow.

What is the equivalent of a ScrollView?

In Android, use a ScrollView to lay out your widgets—if the user’s
device has a smaller screen than your content, it scrolls.

In Flutter, the easiest way to do this is using the ListView widget.
This might seem like overkill coming from Android,
but in Flutter a ListView widget is
both a ScrollView and an Android ListView.

How do I handle landscape transitions in Flutter?

FlutterView handles the config change if AndroidManifest.xml contains:

android:configChanges="orientation|screenSize"

Gesture detection and touch event handling