Witdh Ratio Scale不适用于Android布局约束

时间:2021-01-19 16:05:34

标签: android

我正在学习 Android,并按照教程进行了一些练习,当将 Witdh 比率应用于 imageView 时,它不起作用。奇怪的是,当将相同的值应用于 Height 时,它会起作用。在做了一些研究之后,我认为我做对了,但出于某种原因它不适用。 我感谢一些帮助来解决这个问题。 谢谢。

我想做 2:3。在图片中,Witdh 不起作用。

但是当做 Height 时它起作用了。 enter image description here

我想应用比例的 Viewimage 是 ImageViewPoster:

<ImageView
    android:id="@+id/imageViewPoster"
    android:layout_width="0dp"
    android:layout_height="150dp"
    android:layout_marginStart="8dp"
    app:layout_constraintBottom_toBottomOf="@+id/imageView2Lady"
    app:layout_constraintDimensionRatio="w,2:3"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView2Lady"
    app:layout_constraintVertical_bias="0.48"
    app:srcCompat="@drawable/poster" />

<ImageView
    android:id="@+id/imageView2Lady"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintDimensionRatio="16:9"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/header" />

<TextView
    android:id="@+id/textView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_marginEnd="32dp"
    android:text="Beaty and the Beast "
    android:textAppearance="@style/TextAppearance.AppCompat.Large"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView2Lady" />

2 个答案:

答案 0 :(得分:0)

如果你设置了 app:layout_constraintDimensionRatio="w,2:3" 那么这意味着将首先根据其他约束计算高度,然后根据纵横比调整宽度。因此,当你给出高度值时,宽度值就设置好了。

您的代码

  <ImageView
       .
       .
        app:layout_constraintDimensionRatio="w,2:3"
        />

答案 1 :(得分:0)

witdth 的比率仅在视图没有约束时才有效。

enter image description here