android viewtopMargin 无效果 其父类是 ConstraintLayout
如果在 ConstraintLayout 中设置 view 的 topMargin 无效果,可能是因为 ConstraintLayout 使用的是约束布局,而不是传统的相对布局。在约束布局中,需要使用约束条件来定位视图的位置,而不是使用 margin。
要在 ConstraintLayout 中设置视图的位置,可以使用以下方法:
-
使用 layout_constraintTop_toTopOf、layout_constraintTop_toBottomOf、layout_constraintBottom_toTopOf、layout_constraintBottom_toBottomOf、layout_constraintStart_toStartOf、layout_constraintStart_toEndOf、layout_constraintEnd_toStartOf、layout_constraintEnd_toEndOf 等属性来设置视图的约束条件。
-
使用 layout_constraintVertical_bias、layout_constraintHorizontal_bias 属性来设置视图在约束范围内的位置偏移量。
-
使用 layout_constraintVertical_chainStyle、layout_constraintHorizontal_chainStyle 属性来设置视图在约束链中的位置。
-
使用 layout_constraintGuide_begin、layout_constraintGuide_end、layout_constraintGuide_percent 属性来设置辅助线的位置。
例如,要将一个视图垂直居中并与父视图左对齐,可以使用以下代码:
<View
android:id="@+id/my_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/red"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.5" />
这将使视图垂直居中,并与父视图左对齐。注意,没有设置 margin 属性
原文地址: https://www.cveoy.top/t/topic/dnP4 著作权归作者所有。请勿转载和采集!