RelativeLayout is used for creating adaptive layouts based on their parent’s and other views’ position and dimensions.

For me RelativeLayout is the solution to apply an image as the background for some components. Say, I have a Label on page and would like to overlay it with a background image:

Each element in the RelativeLayout can define a constraint (RelativeLayout.YConstraint, RelativeLayout.XConstraint, RelativeLayout.WidthConstraint, RelativeLayout.HeightConstraint) which defines how the element relates to other items.
Every constraint can have such values:

ElementName: the name of the element that the constraint is relative to.

Type: whether the constraint is relative to the parent or another view.

Property: which property on the relative element to use for the constraint.

The Image:
There are WidthRequest and HeightRequest set for the Image to specify its size.
The Image has two constraints, YConstraint and XConstraint. The Type=RelativeToParent parameter sets the constraint to the parent RelativeLayout.
The Property=Y and Constant=5 values set the Y Position of the Label.
The Property=X and Constant=0 values set the X Position of the Label. The Factor=0.10 sets the Label width to 10% of the parent.

The bottom Label:
The Type=RelativeToParent parameter sets the constraint to the parent RelativeLayout.
The Property=Y and Constant=15 values set the Y Position of the Label.
The Property=X and Constant=25 values set the X Position of the Label. The Factor=0.10 sets the Label width to 10% of the parent.

*Note: It is also possible to define constraints as relative to another View (using x:Name for this View and setting ConstraintExpression Type=RelativeToView, ElementName=YourXNameComesHere).

With such basic knowledge of power of RelativeLayout you are free to create any UI you can imagine :)