У меня есть макет сетки, содержащий несколько линейных макетов. Каждый линейный макет содержит представление изображения и представление текста. В настоящее время все изображения и их описание отображаются на экране, но я хочу создать функцию смахивания, которая заставит другой набор изображений появляться, когда пользователь проводит пальцем по экрану. Я хочу создать что-то подобное
Вот мой 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>
Думаю, вам понадобится ViewPager:
https://developer.android.com/training/animation/screen-slide.html
Каждая «сетка» будет отдельным фрагментом.
Обновлено:
Также обратите внимание на это: это похоже на то, что вы хотите получить: Android ViewPager с нижними точками
Если я правильно вас понял, вы спрашиваете о FragmentPagerAdapter. Итак, здесь вы найдете хороший учебник: guides.codepath.com/android/viewpager-with-fragmentpageradapter, а также источник: developer.android.com/reference/android/support/v4/app/…
привет @munimers. Мне пришлось провести дополнительные исследования, но ваш ответ стал для меня отправной точкой. Спасибо!! :)
Я бы посоветовал вам использовать адаптер RecycleView и cardView вместе с ним .... это довольно просто по сравнению со всеми другими методами. Только не забудьте добавить в build.gradle зависимости RecycleView и cardView.
RecycleView похож на listView .... вам не нужно беспокоиться о пролистывании .... в отличие от listView, он также может делать горизонтальные пролистывания.
спасибо @muminers. Я проверил ссылку, которую вы отправили, и использую сообщение, которое было помечено как ответ для моего решения, но, создав каждую сетку в виде фрагментов, я не знаю, где подключить ее к окну просмотра. Вы можете мне помочь в этом