EditText、RecyclerView、ProgressBar、Textviewの各コンポーネントで簡単なリストアクティビティを実行しています。 EditTextとオーバーラップし、画面の下部を「超えて」、最後のアイテムが部分的に切り取られる(スクリーンショットを参照)、RecyclerViewを除き、すべてが非常にうまく機能します。私は何を間違えていますか?
主な活動:
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="jacopo.com.flickrgallery.GalleryActivity">
<EditText
Android:id="@+id/search_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginEnd="8dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="8dp"
Android:hint="search by tag..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
Android:id="@+id/gallery_progress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text" />
<Android.support.v7.widget.RecyclerView
Android:id="@+id/gallery_list"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text" />
<TextView
Android:id="@+id/gallery_error"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text"
tools:text="error" />
</Android.support.constraint.ConstraintLayout>
RecyclerView
にAndroid:layout_height="wrap_content"
を使用していますが、高さを制限する必要があるようです。 Android:layout_height="0dp"
で試してください。この場合、app:layout_constraintTop_toBottomOf="@+id/search_text"
およびapp:layout_constraintBottom_toBottomOf="parent"
と等しくなります
以下を試してください、topConstraint
のrecyclerview
をedittext
に設定する必要があります
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
<EditText
Android:id="@+id/search_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginEnd="8dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="8dp"
Android:hint="search by tag..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
Android:id="@+id/gallery_progress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text" />
<Android.support.v7.widget.RecyclerView
Android:id="@+id/gallery_list"
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_toBottomOf="@+id/search_text" />
<TextView
Android:id="@+id/gallery_error"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text"
tools:text="error" />
</Android.support.constraint.ConstraintLayout>
出力:
RecyclerViewでこれを追加します:
app:layout_constraintStart_toEndOf="@+id/search_text"
使うだけ
app:layout_constraintVertical_bias="0.0"
recyclerViewタグ内。
お役に立てれば。
XMLファイルを次のコードに変更します。
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<EditText
Android:id="@+id/search_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginEnd="8dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="8dp"
Android:hint="search by tag..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
Android:id="@+id/gallery_progress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text" />
<Android.support.v7.widget.RecyclerView
Android:id="@+id/gallery_list"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="8dp"
Android:layout_marginEnd="8dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="8dp"
app:layout_constraintStart_toEndOf="@+id/search_text" />
<TextView
Android:id="@+id/gallery_error"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
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_toBottomOf="@+id/search_text"
tools:text="error" />
</Android.support.constraint.ConstraintLayout>
これを試して、これがあなたのために働いたかどうか私に知らせてください。
各ビューに同じIDを渡し、これでコードを変更します。
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<EditText
Android:id="@+id/search_text"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_marginTop="8dp"
Android:hint="search by tag..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<ProgressBar
Android:id="@+id/gallery_progress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="8dp"
Android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/search_text"
tools:layout_editor_absoluteX="376dp" />
<Android.support.v7.widget.RecyclerView
Android:id="@+id/gallery_list"
Android:layout_width="0dp"
Android:layout_height="0dp"
Android:layout_marginBottom="8dp"
Android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/search_text"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<TextView
Android:id="@+id/gallery_error"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="8dp"
Android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/search_text"
tools:text="error"
tools:layout_editor_absoluteX="385dp" />
</Android.support.constraint.ConstraintLayout>
ハッピーコーディング!!