我想把我的白色按钮放在屏幕中央,有这样的限制。 1.在父边缘之间水平居中,并可能放置一些边距。 2.在顶部父按钮和按钮按钮之间垂直居中。 现在我的布局在图像上看起来像这样
好吧我想我可以把这个按钮放在一些FrameLayout然后约束它,但这似乎是压倒性的添加另一个布局。我添加了D-Pad和XAYB这样添加下一个FrameLayout甚至RelativeLayout似乎与使用ConstraintLayout相矛盾,其目的是防止许多布局的深度嵌套,如线性,相对,帧布局。
答案 0 :(得分:9)
好的,我通过在屏幕的水平中间添加垂直指南解决了这个问题 使用(50%=> 0.5)。然后使用
将按钮约束到此guidline <Button
android:id="@+id/gamepad_left_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gamepad_left_arrow"
android:textSize="18sp"
app:layout_constraintEnd_toStartOf="@+id/guideline_vertical_in_center"
android:layout_marginEnd="8dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/gamepad_right_stick"
android:theme="@style/AppTheme.ButtonLight"
android:layout_alignParentTop="true" />
<Button
android:id="@+id/gamepad_right_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gamepad_right_arrow"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="@+id/guideline_vertical_in_center"
android:layout_marginStart="8dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/gamepad_left_stick"
android:theme="@style/AppTheme.ButtonLight" />
,指南定义如下:
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline_vertical_in_center"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />