ImageView 不以 ConstraintLayout 为中心

ImageView doesn't center on ConstraintLayout

无论我在做什么,我都无法将图像向左移动更多。它应该很好地居中,但它不是...... image

<ImageView
        android:id="@+id/grid"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/back3"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/turn"
        app:srcCompat="@drawable/back3"
        android:layout_gravity="center"/>

有什么想法吗?

如果父视图比图片宽,需要在ImageView中添加:

android:scaleType="fitCenter"

或属性的其他一些适当值。

当您使用 start/end 约束将视图链接到两个点时,它默认位于这些约束的中心。但是有能力将它的位置移向结束或开始负责这个的布局属性是 layout_constraintHorizontal_bias 正如@Robert 提到的,您可以删除该属性或将其设置为 0.5

<ImageView
    android:id="@+id/grid"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:src="@drawable/back3"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/turn"
    app:srcCompat="@drawable/back3"
    android:layout_gravity="center"/>

另外我建议你改用AppCompatImageView