Android ConstraintLayout:垂直对齐/调整3次观看

时间:2017-07-01 11:17:57

标签: android

尝试创建匹配图像的布局:

enter image description here

  • 底部块从主视图顶部开始的90%。

  • 每行的高度是剩余空间/ 3,边距为8dp 围绕每个视图。

  • 左边的方块各有1:1的比例,和 它们右边的矩形与它们的高度相匹配并填充其余部分 水平空间。

我从90%的水平指引开始,并将3个视图垂直放置在我想要的位置左侧。

我选择顶部并将其顶边限制在父级的顶部。我把它设置为8dp。我选择底部并将其底边约束到90%指南。我把它设置为8dp。

我将每个人的左边缘限制在父

的左边缘

我进入XML并为3个视图中的每个视图添加app:layout_constraintDimensionRatio =“1:1”

我选择全部3,右键单击并选择垂直展开

我选择顶部块,使其宽度和高度为0dp,然后缩小为点

我选择中间块,使其宽度和高度为0dp,并缩小为点

我选择较低的块,使其宽度和高度为0dp,然后展开以填充顶部父级

我认为在这一点上所有的定义都将适用于3个块的大小相同并放置在它们最终的位置。换句话说,即使我已经尝试继续完成剩余的工作,但它已经搞砸了,我无法继续。

以下是展开垂直步骤之前的XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"

    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:layout_editor_absoluteY="89dp"
    tools:layout_editor_absoluteX="0dp">

    <android.support.constraint.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/guideline"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.9" />

    <View
        android:id="@+id/view5"
        android:layout_width="122dp"
        android:layout_height="92dp"
        android:layout_marginStart="8dp"
        android:background="@android:color/holo_blue_light"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginTop="19dp"
        app:layout_constraintTop_toBottomOf="@+id/view2"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toTopOf="@+id/view3" />

    <View
        android:id="@+id/view2"
        android:layout_width="120dp"
        android:layout_height="144dp"
        android:layout_marginStart="8dp"
        android:background="@android:color/holo_green_light"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintLeft_toLeftOf="parent" />

    <View
        android:id="@+id/view3"
        android:layout_width="117dp"
        android:layout_height="121dp"
        android:layout_marginStart="8dp"
        android:background="@android:color/holo_green_dark"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline"
        app:layout_constraintLeft_toLeftOf="parent" />
</android.support.constraint.ConstraintLayout>

0 个答案:

没有答案