android - 约束布局将两个按钮水平居中,边距很小,垂直居中

标签 android android-constraintlayout

我想在这样的约束下将我的白色按钮放在屏幕中央。 1. 在父边缘之间水平居中,并可能放置一些边距。 2. 在顶部父级按钮和固定按钮之间垂直居中。 现在我的布局在图像上看起来像这样

enter image description here

好吧,我想我可以将这个按钮放在一些 FrameLayout 中,然后对其进行约束,但这似乎无法添加另一个布局。我已经为 D-Pad 和 XAYB 添加了这样的添加下一个 FrameLayout 甚至 RelativeLayout 似乎与使用 ConstraintLayout 矛盾,其目的是防止许多布局的深度嵌套,如线性、相对、框架布局。

最佳答案

好的,我通过在屏幕的水平中间添加垂直引用线解决了这个问题 使用 (50% => 0.5)。然后使用

将按钮限制在该指南中
 <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" />

关于android - 约束布局将两个按钮水平居中,边距很小,垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298659/

相关文章:

android - 具有子依赖项(嵌套依赖项)的 gradle 依赖项管理

java - 从我的 JSON 解析器获取空指针异常

java - Android Studio gradle 构建无法添加对旧构建 gradle 文件的依赖项

android - 添加 Android Studio 3.0 的布局编辑器工具栏和上下文菜单中缺少的(垂直/水平)障碍

android - 我应该始终对所有内容使用 ConstraintLayout 吗?

java - Google 的 Json 解析 Gson 库 : What's the difference between JsonElement and JsonObject?

android - 无法为 splash android 播放此视频

Android Studio 2.2 预览 1 EditText 错误

android - Textview maxlines 取决于它的高度

android - ConstraintLayout水平定位像一个 'centerToCenterOf'