Как мне добиться такого рода свайп-навигации

У меня есть макет сетки, содержащий несколько линейных макетов. Каждый линейный макет содержит представление изображения и представление текста. В настоящее время все изображения и их описание отображаются на экране, но я хочу создать функцию смахивания, которая заставит другой набор изображений появляться, когда пользователь проводит пальцем по экрану. Я хочу создать что-то подобное

чего я хочу достичь

Вот мой xml файл

  <GridLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:columnCount = "4">

        <LinearLayout
            android:onClick = "facility_click"
            android:id = "@+id/layout_facility1"
            android:layout_columnWeight = "1"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:orientation = "vertical">

            <ImageView
                android:id = "@+id/image1"
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/fridge1"/>

            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Fridge"
                android:textAlignment = "center"/>

        </LinearLayout>

        <LinearLayout
            android:onClick = "facility_click"
            android:id = "@+id/layout_facility2"
            android:layout_columnWeight = "1"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:orientation = "vertical">

            <ImageView
                android:id = "@+id/image2"
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/alarmclock" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Alarm clock"
                android:textAlignment = "center"/>

        </LinearLayout>

        <LinearLayout
            android:onClick = "facility_click"
            android:id = "@+id/layout_facility3"
            android:layout_columnWeight = "1"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:orientation = "vertical">

            <ImageView
                android:id = "@+id/image3"
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/dishwasher1" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Dish washer"
                android:textAlignment = "center"/>

        </LinearLayout>


        <LinearLayout
            android:onClick = "facility_click"
            android:id = "@+id/layout_facility4"
            android:layout_columnWeight = "1"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:orientation = "vertical">

            <ImageView
                android:id = "@+id/image4"
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/fridge1" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Fridge"
                android:textAlignment = "center"/>

        </LinearLayout>


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

            <ImageView
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/fridge1"/>

            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Fridge"
                android:textAlignment = "center"/>

        </LinearLayout>

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

            <ImageView
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/alarmclock" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Alarm clock"
                android:textAlignment = "center"/>

        </LinearLayout>

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

            <ImageView
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/dishwasher1" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Dish washer"
                android:textAlignment = "center"/>

        </LinearLayout>


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

            <ImageView
                android:layout_width = "50dp"
                android:layout_height = "100dp"
                android:layout_gravity = "center"
                android:src = "@drawable/fridge1" />
            <TextView
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:text = "Fridge"
                android:textAlignment = "center"/>

        </LinearLayout>

    </GridLayout>
0
0
44
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Думаю, вам понадобится ViewPager:

https://developer.android.com/training/animation/screen-slide.html

Каждая «сетка» будет отдельным фрагментом.

Обновлено:

Также обратите внимание на это: это похоже на то, что вы хотите получить: Android ViewPager с нижними точками

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

johnson 26.03.2018 22:36

Если я правильно вас понял, вы спрашиваете о FragmentPagerAdapter. Итак, здесь вы найдете хороший учебник: guides.codepath.com/android/viewpager-with-fragmentpageradap‌ter, а также источник: developer.android.com/reference/android/support/v4/app/…

muminers 26.03.2018 22:45

привет @munimers. Мне пришлось провести дополнительные исследования, но ваш ответ стал для меня отправной точкой. Спасибо!! :)

johnson 27.03.2018 15:26

Я бы посоветовал вам использовать адаптер RecycleView и cardView вместе с ним .... это довольно просто по сравнению со всеми другими методами. Только не забудьте добавить в build.gradle зависимости RecycleView и cardView.

RecycleView похож на listView .... вам не нужно беспокоиться о пролистывании .... в отличие от listView, он также может делать горизонтальные пролистывания.

jp singh 27.03.2018 15:40

Другие вопросы по теме