Элемент просмотра Recycler с макетом ограничений - сдвинут в сторону во время выполнения - PullRequest
0 голосов
/ 19 июня 2020

Я создал макет ограничения для элемента просмотра ресайклера. Во время предварительного просмотра он выглядит нормально, однако во время выполнения элемент отодвигается. Я попытался использовать другой вид элемента с макетом ограничений, который работал раньше, он работает нормально, и я не уверен, почему он ведет себя так во время выполнения.

enter image description here

Recycler Просмотреть код товара

<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/pastorderdate"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:textColor="@color/colorPrimary"
            android:textSize="14sp"
            android:text="@{order.date}"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:text="2/3/2020" />

        <TextView
            android:id="@+id/pastOrderAmount"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="20dp"
            android:textColor="@color/textColor"
            app:priceStringOverview="@{order.amount}"
            app:layout_constraintBottom_toBottomOf="@+id/pastorderdate"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@+id/pastorderdate"
            tools:text="RM50.80" />
    </androidx.constraintlayout.widget.ConstraintLayout>

Recycler Просмотреть код

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/pastorderslist"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginStart="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginEnd="20dp"
            pastorderlist = "@{viewmodel.pastorders}"
            android:layout_marginBottom="10dp"
            android:orientation="vertical"
            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/pastordertitle"
            app:layout_constraintVertical_bias="0.492" />

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Пожалуйста, используйте следующее для ограничений:

    <TextView
        android:id="@+id/pastorderdate"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textColor="@color/colorPrimary"
        android:textSize="14sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@id/pastOrderAmount"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/pastOrderAmount"
        android:layout_width="0dp"
        android:layout_height="wrap_content"       
        android:textColor="@color/colorAccent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/pastorderdate"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Это должно работать

0 голосов
/ 19 июня 2020

У меня была такая же проблема с компоновкой ограничений, и то, что сработало для меня, было на onCreateViewHolder адаптера, я заменил Inflater с LayoutInflater.from(parent.context).inflate(R.layout.item, null) на LayoutInflater.from(parent.context).inflate(R.layout.item, parent, false)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...