Constraint layout Guideline java.lang.AssertionError: BOTTOM
Constraint layout Guideline java.lang.AssertionError: BOTTOM
我有一个 ImageView,我希望它的高度为屏幕高度的 40%。我试图通过约束布局指南来完成它,但我收到运行时错误“java.lang.AssertionError: BOTTOM”。我认为错误是图像变得高于屏幕的 40%,但我不知道如何修复该错误。这是我的 xml 代码。
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintBottom_toBottomOf="@+id/first_horizontal_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintGuide_percent="0.4"/>
这个错误是因为你忘记添加Guideline的orientation
你可以根据你的要求给出一个Guideline的方向horizontal
或者vertical
当您使用垂直参考线时,任何受其约束的视图都应该水平使用,对于水平参考线也是如此。
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintBottom_toTopOf="@+id/first_horizontal_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.4"/>
使用app:layout_constraintHeight_percent
根据屏幕设置高度,无需使用辅助线。
示例代码
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintTop_toTopOf="parent" />
您没有使用此代码添加 android:orientation="horizontal" 属性
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.40" />
使用布局约束高度百分比来设置高度并移除底部到底部命令
要么
你需要 40% 的 hegith 所以你可以通过约束高度百分比来做到这一点并使宽度匹配父
我有一个 ImageView,我希望它的高度为屏幕高度的 40%。我试图通过约束布局指南来完成它,但我收到运行时错误“java.lang.AssertionError: BOTTOM”。我认为错误是图像变得高于屏幕的 40%,但我不知道如何修复该错误。这是我的 xml 代码。
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintBottom_toBottomOf="@+id/first_horizontal_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintGuide_percent="0.4"/>
这个错误是因为你忘记添加Guideline的orientation
你可以根据你的要求给出一个Guideline的方向horizontal
或者vertical
当您使用垂直参考线时,任何受其约束的视图都应该水平使用,对于水平参考线也是如此。
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintBottom_toTopOf="@+id/first_horizontal_guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.4"/>
使用app:layout_constraintHeight_percent
根据屏幕设置高度,无需使用辅助线。
示例代码
<ImageView
android:id="@+id/apartment_main_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/apart"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintTop_toTopOf="parent" />
您没有使用此代码添加 android:orientation="horizontal" 属性
<androidx.constraintlayout.widget.Guideline
android:id="@+id/first_horizontal_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.40" />
使用布局约束高度百分比来设置高度并移除底部到底部命令 要么 你需要 40% 的 hegith 所以你可以通过约束高度百分比来做到这一点并使宽度匹配父