YassinAJDI/MaterialJournal

View on GitHub
app/src/main/res/layout/item_note.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.OnClickListener" />

        <variable
            name="note"
            type="com.ajdi.yassin.materialjournal.data.model.Note" />

        <variable
            name="listener"
            type="com.ajdi.yassin.materialjournal.ui.notes.NoteItemUserActionsListener" />
    </data>

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginTop="4dp"
        android:clickable="true"
        app:cardElevation="0dp"
        android:focusable="true"
        android:foreground="?android:attr/selectableItemBackground"
        android:onClick="@{() -> listener.onNoteClicked(note)}"
        app:cardCornerRadius="2dp">

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

            <ImageView
                android:id="@+id/image_note"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_marginTop="16dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:scaleType="centerCrop"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                tools:src="@color/md_grey_200" />

            <TextView
                android:id="@+id/text_title"
                style="@style/CardArticleItemText.Headline"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="@{note.title}"
                app:layout_constraintEnd_toStartOf="@+id/image_note"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/image_user_icon"
                tools:text="This is a pretty long title, testing for some bugs " />

            <ImageView
                android:id="@+id/image_user_icon"
                style="@style/CardArticleSourceIcon"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/image_note"
                tools:src="@color/md_grey_200" />


            <TextView
                android:id="@+id/text_publisher_name"
                style="@style/CardArticleItemText.SourceName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginLeft="8dp"
                app:layout_constraintBottom_toBottomOf="@+id/image_user_icon"
                app:layout_constraintStart_toEndOf="@+id/image_user_icon"
                app:layout_constraintTop_toTopOf="@+id/image_user_icon"
                tools:text="Yassin AJDI" />

            <TextView
                android:id="@+id/text_time"
                style="@style/CardArticleItemText.Time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                app:layout_constraintBottom_toBottomOf="@+id/card_action_share_button"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/card_action_share_button"
                tools:text="10 mins ago" />

            <ImageView
                android:id="@+id/card_action_share_button"
                style="@style/CardArticleActionIcon"
                android:layout_marginTop="8dp"
                app:srcCompat="@drawable/ic_share_black_24dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/image_note" />

            <ImageView
                android:id="@+id/card_action_star_button"
                style="@style/CardArticleActionIcon"
                android:layout_width="48dp"
                android:src="@drawable/twotone_star_black_48"
                app:layout_constraintBottom_toBottomOf="@+id/card_action_share_button"
                app:layout_constraintEnd_toStartOf="@+id/card_action_share_button"
                app:layout_constraintTop_toTopOf="@+id/card_action_share_button" />

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