Загрузка данных


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#F8F9FA">

    <!-- Заголовок -->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingHorizontal="16dp"
        android:paddingTop="16dp"
        android:paddingBottom="8dp"
        android:text="Португальская кухня"
        android:textSize="22sp"
        android:textStyle="bold"
        android:textColor="?android:attr/textColorPrimary" />

    <!-- Поисковая строка (из требований ТЗ) -->
    <androidx.appcompat.widget.SearchView
        android:id="@+id/searchViewRecipes"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="16dp"
        android:layout_marginBottom="8dp"
        android:background="@drawable/bg_search_input"
        app:iconifiedByDefault="false"
        app:queryHint="Найти рецепт..." />

    <!-- Фильтр по разделам (Супы, Вторые блюда, Десерты, Салаты) -->
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none"
        android:paddingHorizontal="16dp"
        android:paddingBottom="8dp">

        <com.google.android.material.chip.ChipGroup
            android:id="@+id/chipGroupCategories"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:singleSelection="true">

            <com.google.android.material.chip.Chip
                android:id="@+id/chipAll"
                style="@style/Widget.MaterialComponents.Chip.Choice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="Все" />

            <com.google.android.material.chip.Chip
                android:id="@+id/chipSoups"
                style="@style/Widget.MaterialComponents.Chip.Choice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Супы" />

            <com.google.android.material.chip.Chip
                android:id="@+id/chipMains"
                style="@style/Widget.MaterialComponents.Chip.Choice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Вторые блюда" />

            <com.google.android.material.chip.Chip
                android:id="@+id/chipDesserts"
                style="@style/Widget.MaterialComponents.Chip.Choice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Десерты" />

            <com.google.android.material.chip.Chip
                android:id="@+id/chipSalads"
                style="@style/Widget.MaterialComponents.Chip.Choice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Салаты" />
        </com.google.android.material.chip.ChipGroup>
    </HorizontalScrollView>

    <!-- Список, куда карточки выгружаются автоматически -->
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rvRecipes"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipToPadding="false"
        android:paddingBottom="16dp" />

</LinearLayout>