相对于右侧项目的Android ConstraintLayout宽度

Bio*_*aim 0 android constraints textview android-constraintlayout

在iOS中我可以在项目之间设置空格,我如何在Android中实现这一点?

例如:

我希望TextView在屏幕左侧有一个固定在父屏幕左边缘和TextView屏幕右侧的屏幕,固定在父屏幕的右边缘,两者都在同一行.

现在我希望左边TextView的宽度尽可能宽,但左边TextView和右边的间距最小为16dp TextView.

我希望这是可以理解的.

Lew*_*ary 5

就在视图周围留出空间而言,您将看到使用a margin(请参阅此处了解Android布局中填充和边距之间的差异).

具体来说,ConstraintLayout它看起来像:

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

    <TextView
        android:id="@+id/left_text_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/right_text_view"
        android:layout_marginRight="16dp"
        android:text="left text" />

    <TextView
        android:id="@+id/right_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintRight_toRightOf="parent"
        android:text="right text" />

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

请注意TextViews的宽度之间的差异.正确的是wrap_content它会改变它的大小以适应它的文本.左边的宽度为0dp,这ConstraintLayout意味着"匹配约束".它需要一个左右约束来计算出宽度,所以我们给出了两者.

我们还在第一个TextView的右侧添加了一个边距,以确保视图之间的间隙.或者,我们可以layout_marginLeft在第二个TextView上添加16dp,或者将它们分别添加8dp,具体取决于在这种情况下最有意义的内容.