Pull to refresh

Comments 26

а можете поподробнее рассказать где взять библиотеку и как ее установить?
Добавил в начало статьи краткую инструкцию по установке.
Не так давно реализовывал табы со слайдингом(а ля приложение Google Music 4.0), и использовал как раз этот прием, только с фрагментами в качестве содержимого. Самая мутная часть была с организацией переключалки табов)
А можно ли на основе этого ViewPager реализовать «бесконечный» слайдинг страниц? Чтобы они создавались в процессе скролла? Или сразу рассчитывается количество по getCount?
По идее мы можем динамически добавлять. Кстати на деле достаточно 3(или 2) страницы с динамическим контентом, я думаю. Только нужно реализовать правильный адаптер, который обрабатывает переключение.
Видимо можно. Попробовал сделать добавление в список новых элементов при нажатии на экран — работает. То есть адаптером корректно подхватываются новые элементы списка. Динамическое удаление страниц тоже работает.
Спасибо. После работы попробую
а как зафиксировать один View, чтобы он не перемещался при слайдинге? например элемент Button или ImageView
Можно описать в файле разметки элементы так, чтобы ViewPager был лишь одним из компонентов. Например, создать такой файл main_layout.xml:
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	
	<ImageView
		android:id="@+id/image"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:src="@drawable/icon"/>
	
	<android.support.v4.view.ViewPager
		android:id="@+id/view_pager"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content">
	</android.support.v4.view.ViewPager>
	
</LinearLayout>

Затем в activity приложения делаем setContentView(R.layout.main_layout), а экземпляр ViewPager добываем с помощью findViewById(R.id.view_pager).
Указанная картинка будет находиться наверху экрана, а страницы, которые скроллятся с помощью ViewPager будут располагаться ниже.
Класс, все получилось. Подскажи, а как добавить заголовки страниц, по типу как это сделано в маркете или гугл+?
С заголовками, видимо, посложнее будет. Сам такое не реализовывал, так что, к сожалению, подсказать не могу.
жаль (( те способы что удалось нагуглить простыми не назвать, видимо придется углубляться
И сам же себя опровергну :)
Нашлась зааамечательная библиотека с примером — github.com/JakeWharton/Android-ViewPagerIndicator.
Заголовки для ViewPager почти как в Google+.
Анимация немного другая, но мне даже больше нравится, ну и да — создание экранов в ViewPager очень отличается от представленного здесь способа, хотя надо покумекать, может и удастся объединить :)
Я использовал для этого HorizontalPager
code.google.com/p/deezapps-widgets/

Мне очень понравилось что для его использования вообще не надо писать java кода, только задать разметку в XML:

вот весь код чтобы сделать две перелистываемые странички. Каждая страница в примере это TextView, но можно заменить на свой Layout.

<com.deezapps.widget.HorizontalPager
android:layout_width=«fill_parent»
android:layout_height=«wrap_content»>

<TextView android:text=«Text 1»/>
<TextView android:text=«Text 2»/>

</com.deezapps.widget.HorizontalPager>

Библиотек подключать не надо, весь код идет одним Java файлом.
А можно пример полностью, просто у меня не распознает com.deezapps.widget.HorizontalPager
Сначала не туда поместил пост :)

Конечно.
На сайте проекта есть ссылка на SVN:
code.google.com/p/deezapps-widgets/source/checkout
Можно скачать там.
В этом проекте есть необходимые исходники и как раз показаны основные варианты исползьования.
Необходимые исходники это файлы attrs.xml и HorizontalPager.java ( может быть еще нужен PagerControl.java, но в своем проекте я обошелся без него)
Остальные файлы нужны для демонстрации возможностей
Конечно.
На сайте проекта есть ссылка на SVN:
code.google.com/p/deezapps-widgets/source/checkout
Можно скачать там.
В этом проекте есть необходимые исходники и как раз показаны основные варианты исползьования.
Необходимые исходники это файлы attrs.xml и HorizontalPager.java ( может быть еще нужен PagerControl.java, но в своем проекте я обошелся без него)
Остальные файлы нужны для демонстрации возможностей
Добрый день! А как можно сделать превью под ViewPager?
Например, есть главный LinearLayout, в нём сверху заголовок, ниже ViewPager(3 страницы). Для каждой страницы свой маленький thumb. Необходимо, чтобы под ViewPager (можно и внутри) отображались thumbs для всех 3 страниц, но подсвечена и по центру только одна(для текущей страницы).
Интересует 2 вещи:
1) Можно ли это сделать, используя только ViewPager и его проперти/методы?
2) Если делать отдельными View, то что лучше использовать? Ещё один ViewPager, в котором менять страницы после завершения прокрутки?
Здравствуйте. Если вы говорите о простой индикации, какая страница сейчас открыта — то да, это сделать можно. В 6 версии Support Package появилась возможность указывать заголовок для страниц (с помощью класса PagerTitleStrip). Кроме того в комментариях уже была ссылка на неплохую библиотеку, реализующую этот функционал — github.com/JakeWharton/Android-ViewPagerIndicator
Вам это нужно, или что-то другое?
Сначала промахнулся, не привык ещё =)

Да, спасибо! Сам недавно нашёл эту библиотечку, сижу разбираюсь.
Да, спасибо! Сам недавно нашёл эту библиотечку, сижу разбираюсь.
Sign up to leave a comment.

Articles