[Solved] I had to add android:fillViewport=\"true\" to the ScrollView, that fixed the problem with the text not centering vertically.
android:fillViewport=\"true\"
I know this has been
To achieve the result you want, it will be enough to remove
android:gravity="center_vertical" android:layout_alignBottom="@+id/icon" android:layout_alignTop="@+id/icon"
and add
android:layout_centerVertical="true"
instead.