Improve recipe info screen UI
This commit is contained in:
@@ -10,85 +10,127 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/end_guide"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintGuide_end="4dp"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/start_guide"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintGuide_begin="4dp"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.imageview.ShapeableImageView
|
<com.google.android.material.imageview.ShapeableImageView
|
||||||
android:id="@+id/image"
|
android:id="@+id/image"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
app:shapeAppearance="@style/ShapeAppearance.AllCornersRounded"
|
app:shapeAppearance="@style/ShapeAppearance.AllCornersRounded"
|
||||||
android:layout_height="@dimen/fragment_recipe_info_image_height"
|
android:layout_height="@dimen/fragment_recipe_info_image_height"
|
||||||
android:layout_marginBottom="@dimen/margin_small"
|
|
||||||
android:contentDescription="@string/content_description_fragment_recipe_info_image"
|
android:contentDescription="@string/content_description_fragment_recipe_info_image"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/title"
|
||||||
tools:srcCompat="@drawable/placeholder_recipe" />
|
tools:srcCompat="@drawable/placeholder_recipe" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginHorizontal="8dp"
|
||||||
|
android:layout_marginTop="7dp"
|
||||||
android:textAppearance="?textAppearanceHeadline6"
|
android:textAppearance="?textAppearanceHeadline6"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toTopOf="@+id/description"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/end_guide"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/start_guide"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/image"
|
app:layout_constraintTop_toBottomOf="@+id/image"
|
||||||
tools:text="Best-Ever Beef Stew" />
|
tools:text="Best-Ever Beef Stew" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/description"
|
android:id="@+id/description"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_marginHorizontal="8dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginTop="6dp"
|
||||||
android:textAppearance="?textAppearanceBody2"
|
android:textAppearance="?textAppearanceBody2"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toTopOf="@+id/ingredients_holder"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/end_guide"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/start_guide"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/title"
|
app:layout_constraintTop_toBottomOf="@+id/title"
|
||||||
tools:text="Stay warm all winter with this classic Beef Stew made with red wine and beef stock from Delish.com." />
|
tools:text="Stay warm all winter with this classic Beef Stew made with red wine and beef stock from Delish.com." />
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:id="@+id/ingredients_header"
|
android:id="@+id/ingredients_holder"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginHorizontal="8dp"
|
||||||
|
android:layout_marginTop="11dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
app:cardCornerRadius="@dimen/rounded_corner_size_default"
|
||||||
|
app:cardElevation="10dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/instructions_header"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/end_guide"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/start_guide"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/description">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/ingredients_header"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginHorizontal="17dp"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
android:text="@string/fragment_recipe_info_ingredients_header"
|
android:text="@string/fragment_recipe_info_ingredients_header"
|
||||||
android:textAppearance="?textAppearanceHeadline6"
|
android:textAppearance="?textAppearanceHeadline6" />
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/description" />
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/ingredients_list"
|
android:id="@+id/ingredients_list"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginHorizontal="10dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/ingredients_header"
|
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
tools:itemCount="3"
|
tools:itemCount="3"
|
||||||
tools:listitem="@layout/view_holder_ingredient" />
|
tools:listitem="@layout/view_holder_ingredient" />
|
||||||
|
</LinearLayout>
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/instructions_header"
|
android:id="@+id/instructions_header"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginStart="35dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
android:text="@string/fragment_recipe_info_instructions_header"
|
android:text="@string/fragment_recipe_info_instructions_header"
|
||||||
android:textAppearance="?textAppearanceHeadline6"
|
android:textAppearance="?textAppearanceHeadline6"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toTopOf="@+id/instructions_list"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/end_guide"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/ingredients_list" />
|
app:layout_constraintStart_toEndOf="@+id/start_guide"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/ingredients_holder" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/instructions_list"
|
android:id="@+id/instructions_list"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/end_guide"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/instructions_header"
|
app:layout_constraintTop_toBottomOf="@+id/instructions_header"
|
||||||
android:paddingBottom="@dimen/bottom_padding_instructions_list_fragment_recipe_info"
|
app:layout_constraintStart_toEndOf="@+id/start_guide"
|
||||||
tools:itemCount="2"
|
tools:itemCount="2"
|
||||||
tools:listitem="@layout/view_holder_instruction" />
|
tools:listitem="@layout/view_holder_instruction" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
android:id="@+id/checkBox"
|
android:id="@+id/checkBox"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|||||||
@@ -1,15 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
android:layout_margin="8dp"
|
||||||
|
app:cardCornerRadius="@dimen/rounded_corner_size_default"
|
||||||
|
app:cardElevation="10dp"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingHorizontal="18dp"
|
||||||
|
android:paddingVertical="12dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/step"
|
android:id="@+id/step"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
|
||||||
android:textAppearance="?textAppearanceHeadline6"
|
android:textAppearance="?textAppearanceHeadline6"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -20,7 +28,7 @@
|
|||||||
android:id="@+id/instruction"
|
android:id="@+id/instruction"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/margin_small"
|
android:layout_marginTop="12dp"
|
||||||
android:textAppearance="?textAppearanceBody2"
|
android:textAppearance="?textAppearanceBody2"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -28,3 +36,4 @@
|
|||||||
tools:text="In a large dutch oven or heavy-bottomed pot over medium heat, heat oil. Add beef and cook until seared on all sides, 10 minutes, working in batches if necessary. Transfer beef to a plate." />
|
tools:text="In a large dutch oven or heavy-bottomed pot over medium heat, heat oil. Add beef and cook until seared on all sides, 10 minutes, working in batches if necessary. Transfer beef to a plate." />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|||||||
Reference in New Issue
Block a user