Sharingang/Sharingang-Android

View on GitHub
app/src/main/res/layout/item_view.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <data>

        <import type="android.view.View" />

        <variable
            name="item"
            type="com.example.sharingang.models.Item" />

        <variable
            name="clickListener"
            type="com.example.sharingang.ui.adapters.ItemListener" />

    </data>

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="10dp"
        android:onClick="@{() -> clickListener.onView(item)}"
        android:orientation="vertical"
        app:cardCornerRadius="10dp"
        app:cardPreventCornerOverlap="true"
        app:cardUseCompatPadding="true"
        tools:ignore="UseCompoundDrawables">

        <TextView
            android:id="@+id/itemViewDiscount"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_marginStart="10dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/red_dot"
            android:visibility="@{item.discount ? View.VISIBLE : View.GONE}" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="10">

                <ImageView
                    android:id="@+id/item_image_preview"
                    android:layout_width="match_parent"
                    android:layout_height="100dp"
                    android:layout_weight="10"
                    android:contentDescription="@string/item_image_description"
                    android:paddingTop="10dp"
                    android:src="@drawable/ic_baseline_image_24"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="1dp"
                    android:layout_marginEnd="15dp"
                    android:gravity="center"
                    android:orientation="horizontal"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent">

                    <ImageView
                        android:id="@+id/historyImage"
                        android:layout_width="15dp"
                        android:layout_height="15dp"
                        android:contentDescription="@string/lastUpdate"
                        app:srcCompat="@android:drawable/ic_menu_recent_history" />

                    <TextView
                        android:id="@+id/textViewLastUpdated"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp" />
                </LinearLayout>

            </androidx.constraintlayout.widget.ConstraintLayout>

            <TextView
                android:id="@+id/item_list_view_title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clickable="true"
                android:focusable="true"
                android:gravity="center"
                android:onClick="@{() -> clickListener.onView(item)}"
                android:paddingBottom="12dp"
                android:textColor="@{item.sold ? @color/faded_red : item.request?@color/quantum_cyan : @color/white}"
                android:textSize="24sp"
                tools:text="Test" />

        </LinearLayout>


    </androidx.cardview.widget.CardView>
</layout>