ConstraintLayout内にスクロールビューがあります。しかし、ScrollviewがConstraintLayoutで機能しません。ScrollViewの代わりにNestedScrollViewを試しましたが、それでも機能しません。ScrollViewはLinearLayoutまたはRelativeLayoutで正常に機能しましたが、ConstraintLayoutでは機能しませんでした。android:layout_heightをmatch_parentとwrap_contentに変更しましたが、機能しませんでした。何が問題ですか?
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<include
android:id="@+id/other_toolbar_xml"
layout="@layout/other_toolbar_xml"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/other_toolbar_xml"
android:fillViewport="true"
tools:ignore="MissingConstraints"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/img_content_xml"
android:layout_width="match_parent"
android:layout_height="170dp"
app:layout_constraintTop_toBottomOf="@id/other_toolbar_xml"
android:scaleType="fitXY"
tools:ignore="NotSibling"
/>
<TextView
android:id="@+id/title_content_xml"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/img_content_xml"
android:layout_marginRight="16dp"
android:paddingLeft="16dp"
android:textDirection="rtl"
android:text="title"
android:textSize="17sp"
android:textColor="#1d1d1d"
/>
<TextView
android:id="@+id/content_content_xml"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_content_xml"
android:layout_marginTop="20dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:paddingLeft="16dp"
android:textDirection="rtl"
android:text="content"
android:textColor="#1d1d1d"
/>
<ImageView
android:id="@+id/img_date_content_Xml"
android:layout_width="18dp"
android:layout_height="18dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/content_content_xml"
android:layout_marginTop="20dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/date"
/>
<TextView
android:id="@+id/date_content_xml"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/content_content_xml"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintRight_toLeftOf="@id/img_date_content_Xml"
android:layout_marginTop="20dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:text="date"
android:textColor="#1d1d1d"
android:layout_marginBottom="16dp"
/>
<TextView
android:id="@+id/subject_content_xml"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/content_content_xml"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="20dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:singleLine="true"
android:text="subject"
android:textColor="#1d1d1d"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
タグに追加tools:ignore="MissingConstraints"
したため、与える制約を見逃しました<ScrollView
。
2つの方法があります:
親の制約レイアウトを削除し、2つのレイアウトだけでConstraintLayoutを必要としないため、RelativeLayoutを使用します。(これは主に、簡単にするために複雑なビューに使用されます)
ConstraintLayoutを使用する場合は、適切な制約を与えます。次のように、左、右、下の制約を見逃しました。
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:fillViewport="true"
app:layout_constraintTop_toBottomOf="@id/other_toolbar_xml"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" >
//....
</ScrollView>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加