diff --git a/briar-android/src/main/res/layout/fragment_keyagreement_id.xml b/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
index dc584118261da93611c8f53471cdeb12695706bd..8653617ee4952e390c86f9a6fa0f5a9ecfd89164 100644
--- a/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
+++ b/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
@@ -17,58 +17,64 @@
 			android:id="@+id/diagram"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
-			android:layout_gravity="center_vertical"
 			android:adjustViewBounds="true"
 			android:paddingBottom="@dimen/margin_large"
 			android:scaleType="fitCenter"
 			android:src="@drawable/qr_code_intro"
-			app:layout_constraintTop_toTopOf="parent"
-			app:layout_constraintBottom_toTopOf="@id/explanationImage"/>
+			app:layout_constraintBottom_toTopOf="@id/explanationImage"
+			app:layout_constraintEnd_toEndOf="parent"
+			app:layout_constraintStart_toStartOf="parent"
+			app:layout_constraintTop_toTopOf="parent"/>
 
 		<ImageView
 			android:id="@+id/explanationImage"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:adjustViewBounds="true"
-			android:paddingTop="@dimen/margin_large"
 			android:paddingLeft="@dimen/margin_large"
 			android:paddingRight="@dimen/margin_large"
+			android:paddingTop="@dimen/margin_large"
 			android:scaleType="fitCenter"
 			android:src="@drawable/qr_code_explanation"
-			tools:ignore="ContentDescription"
+			app:layout_constraintBottom_toTopOf="@id/explanationText"
+			app:layout_constraintEnd_toEndOf="@id/diagram"
+			app:layout_constraintStart_toStartOf="@id/diagram"
 			app:layout_constraintTop_toBottomOf="@id/diagram"
-			app:layout_constraintBottom_toTopOf="@id/explanationText"/>
+			tools:ignore="ContentDescription"/>
 
 		<TextView
 			android:id="@+id/explanationText"
 			style="@style/BriarTextBody"
-			android:layout_width="match_parent"
+			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:padding="@dimen/margin_large"
 			android:text="@string/face_to_face"
-			app:layout_constraintTop_toBottomOf="@id/explanationImage"
-			app:layout_constraintBottom_toTopOf="@id/continueButton"/>
+			app:layout_constrainedWidth="true"
+			app:layout_constraintEnd_toEndOf="@id/explanationImage"
+			app:layout_constraintStart_toStartOf="@id/explanationImage"
+			app:layout_constraintTop_toBottomOf="@id/explanationImage"/>
 
 		<View
 			android:id="@+id/explanationBorder"
 			android:layout_width="0dp"
 			android:layout_height="0dp"
 			android:background="@drawable/border_explanation"
-			app:layout_constraintTop_toTopOf="@id/explanationImage"
-			app:layout_constraintStart_toStartOf="@id/explanationImage"
+			app:layout_constraintBottom_toBottomOf="@id/explanationText"
 			app:layout_constraintEnd_toEndOf="@id/explanationImage"
-			app:layout_constraintBottom_toBottomOf="@id/explanationText"/>
+			app:layout_constraintStart_toStartOf="@id/explanationImage"
+			app:layout_constraintTop_toTopOf="@id/explanationImage"/>
 
 		<Button
 			android:id="@+id/continueButton"
 			style="@style/BriarButton.Default"
-			android:layout_width="match_parent"
+			android:layout_width="0dp"
 			android:layout_height="wrap_content"
-			android:layout_gravity="center_horizontal"
 			android:layout_marginTop="@dimen/margin_medium"
 			android:text="@string/continue_button"
-			app:layout_constraintTop_toBottomOf="@id/explanationText"
-			app:layout_constraintBottom_toBottomOf="parent"/>
+			app:layout_constraintBottom_toBottomOf="parent"
+			app:layout_constraintEnd_toEndOf="@id/explanationImage"
+			app:layout_constraintStart_toStartOf="@id/explanationImage"
+			app:layout_constraintTop_toBottomOf="@id/explanationText"/>
 
 	</android.support.constraint.ConstraintLayout>