我喜欢在ConstraintLayout中的ImageView的特定位置处添加通过线连接到绿点的Button。 但是,当在不同屏幕上旋转图像比例或旋转时,绿点特定位置无法固定。请参考照片。
当前,我尝试添加一些绿点(具有可绘制背景的视图)。并通过constraintHorizontal_bias和constraintVertical_bias控制它们的位置。但这行不通。
app:layout_constraintHorizontal_bias="0.59"
app:layout_constraintVertical_bias="0.788"
代码如下:
<android.support.constraint.ConstraintLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toTopOf="@+id/button_oobe_1p7_ok"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView_oobe_1p7_title2"
app:layout_constraintVertical_bias="0.0">
<ImageView
android:id="@+id/imageView4"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/icon_body_w" />
<View
android:id="@+id/view"
android:layout_width="3dp"
android:layout_height="3dp"
android:background="@drawable/icon_bodypart_dot_selected"
app:layout_constraintBottom_toBottomOf="@+id/imageView4"
app:layout_constraintEnd_toEndOf="@+id/imageView4"
app:layout_constraintHorizontal_bias="0.561"
app:layout_constraintStart_toStartOf="@+id/imageView4"
app:layout_constraintTop_toTopOf="@+id/imageView4"
app:layout_constraintVertical_bias="0.501" />
<View
android:id="@+id/view2"
android:layout_width="3dp"
android:layout_height="3dp"
android:background="@drawable/icon_bodypart_dot_selected"
app:layout_constraintBottom_toBottomOf="@+id/imageView4"
app:layout_constraintEnd_toEndOf="@+id/imageView4"
app:layout_constraintStart_toStartOf="@+id/imageView4"
app:layout_constraintTop_toTopOf="@+id/imageView4"
app:layout_constraintVertical_bias="0.095" />
<View
android:id="@+id/view3"
android:layout_width="3dp"
android:layout_height="3dp"
android:background="@drawable/icon_bodypart_dot_selected"
app:layout_constraintBottom_toBottomOf="@+id/imageView4"
app:layout_constraintEnd_toEndOf="@+id/imageView4"
app:layout_constraintHorizontal_bias="0.59"
app:layout_constraintStart_toStartOf="@+id/imageView4"
app:layout_constraintTop_toTopOf="@+id/imageView4"
app:layout_constraintVertical_bias="0.788" />
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:0)
在屏幕中央使用准则-s(在给定情况下为水平)。这样一来,您就可以在该位置附加小部件
答案 1 :(得分:0)
感谢所有分享评论。
我发现我只需要添加constraintDimensionRatio,然后ImageView将按比例缩放,因此app:layout_constraintHorizontal_bias和app:layout_constraintVertical_bias可以正常工作!
app:layout_constraintDimensionRatio="1:2.215"
<ImageView
android:id="@+id/imageView_body"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="1:2.215"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/icon_body_w" />