Урок 125. ViewPager
Re: Урок 125. ViewPager
Помогите пожалуйста как вместо надписей реализовать imgbatton. Чтобы перелистывание помимо слайда происходило от кнопок. Вчера весь вечер промучился- не получается.
- Вложения
-
- Slide.rar
- Это проект.
- (1.14 МБ) 329 скачиваний
-
- А надо примерно так.
- device2.png (15.61 КБ) 16965 просмотров
-
- Сейчас вот так.
- device1.png (10.52 КБ) 16965 просмотров
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 125. ViewPager
Ни как. Вы используете PagerTabStrip, а он почти не кастомизируется.
Смотрите в сторону сторонних библиотек.
Смотрите в сторону сторонних библиотек.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 125. ViewPager
А вы можете что нибудь посоветовать, что нужно использовать для реализации такого ViewPager ?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 125. ViewPager
Возможно это поможет http://viewpagerindicator.com/?utm_sour ... um=toolbox
Там вроде бы можно иконки для записей устанавливать.
Там вроде бы можно иконки для записей устанавливать.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 125. ViewPager
Хочу реализовать что-то типа книги с использованием ViewPager, есть достаточно объемный текст, как определить, по сколько строк текста может вместиться на каждой странице?
Re: Урок 125. ViewPager
На каждом устройстве по разному (зависит от разрешения экрана). Если будет использоваться на устройстве с одним разрешением то методом тыка посмотрите.
Re: Урок 125. ViewPager
Спасибо !!!KamiSempai писал(а):Возможно это поможет http://viewpagerindicator.com/?utm_sour ... um=toolbox
Там вроде бы можно иконки для записей устанавливать.
Последний раз редактировалось qwe 31 янв 2014, 17:43, всего редактировалось 2 раза.
Re: Урок 125. ViewPager
На разных устройствах планируется использовать. Книги вот как делают?qwe писал(а):На каждом устройстве по разному (зависит от разрешения экрана). Если будет использоваться на устройстве с одним разрешением то методом тыка посмотрите.
-
- Сообщения: 3
- Зарегистрирован: 08 окт 2013, 18:19
Re: Урок 125. ViewPager
Подскажите, а можно в ViewPager вместо Layout прикрутить целое Activity?
Мой случай:
Мной переделанный пример из урока 125;
У меня пару страниц, на каждой свой Layout(fragment1, fragment2)
При запуске на первой странице(fragment1), есть кнопка, в клас fragment1 помещен onClickListener.
Но тем не менее кнопка не срабатывает.
В функции onCreateView организовал проверку pageNumber по которой идет выбор среди
R.layout.fragment1 и
R.layout.fragment2
Есть ли простой способ заставить содержимое работать?
(P.S. Не судите строго, написал пост на быструю руку со смарта)
Мой случай:
Мной переделанный пример из урока 125;
У меня пару страниц, на каждой свой Layout(fragment1, fragment2)
При запуске на первой странице(fragment1), есть кнопка, в клас fragment1 помещен onClickListener.
Но тем не менее кнопка не срабатывает.
В функции onCreateView организовал проверку pageNumber по которой идет выбор среди
R.layout.fragment1 и
R.layout.fragment2
Есть ли простой способ заставить содержимое работать?
(P.S. Не судите строго, написал пост на быструю руку со смарта)
-
- Сообщения: 1
- Зарегистрирован: 02 фев 2014, 00:13
Re: Урок 125. ViewPager
Подскажите, а как отключить оптимизацию, которая генерирует страницы заранее. Я пробовала методом setOffscreenPageLimit() установить количество страниц в 0 или -1. Однако на отладке в OnCreate() и в onViewCreated() все равно заходит дважды для 0-ой и 1-ой страниц.
Или может быть есть какой-то иной способ реализации. Дело в том, что содержимое моей 1-ой страницы должно зависеть от того, что произойдет на 0-ой. А если они обе генерируются одновременно, то действия, предпринимаемые на 0-ой странице получаются бесполезными
Или может быть есть какой-то иной способ реализации. Дело в том, что содержимое моей 1-ой страницы должно зависеть от того, что произойдет на 0-ой. А если они обе генерируются одновременно, то действия, предпринимаемые на 0-ой странице получаются бесполезными
Re: Урок 125. ViewPager
есть проблема, может кто сталкивался и знает как ее решить.
Все у меня происходит на фрагмента, только 1 FragmentActivite. (FragmentActivity) пришлось использовать что бы получить SupportFragmentManager и используется супорт только в ViewPager.
Проблема у меня такая.
Нажимаю на кнопку, перехожу на Fragment у которого есть ViewPager и листаю фрагменты, все отлично все видно, показывается нужная информация. (только при первом переходе на фрагмент с ViewPager)
Жму назад отрабатывает мето popBackStack, жму опять ( на эту же кнопку или на другу)
ViewPager не показывает Fragment, начинаю листать, бывает 1-2 раза еще не покажет, потом показывает все нормаль, делаю слайды назад. Все показывает.
В чем косяк, при втором переходе на фрагмен с ViewPager первых 1-2 фрагмента черных, при слайде назад, потом он их показывает. Проблема начинается на 2+ переходе на ViewPager?
Все у меня происходит на фрагмента, только 1 FragmentActivite. (FragmentActivity) пришлось использовать что бы получить SupportFragmentManager и используется супорт только в ViewPager.
Проблема у меня такая.
Нажимаю на кнопку, перехожу на Fragment у которого есть ViewPager и листаю фрагменты, все отлично все видно, показывается нужная информация. (только при первом переходе на фрагмент с ViewPager)
Жму назад отрабатывает мето popBackStack, жму опять ( на эту же кнопку или на другу)
ViewPager не показывает Fragment, начинаю листать, бывает 1-2 раза еще не покажет, потом показывает все нормаль, делаю слайды назад. Все показывает.
В чем косяк, при втором переходе на фрагмен с ViewPager первых 1-2 фрагмента черных, при слайде назад, потом он их показывает. Проблема начинается на 2+ переходе на ViewPager?
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
Я слабо что понял. Тут бы видео записать (для записи видео я лично использую UVScreenCamera, только при записи отключить запись звука).
Re: Урок 125. ViewPager
Скоро залью, но я уже прокатически понял, что проблемы в каком то кэше ViewPager
Конечно как я сделал, так делает нельзя. Но начал динамически создавать ViewPager и добавлять его в мой LinerLayout
Сразу падло, смотрю просит задать id задал статический id проблема осталась.
Когда сделал viewPager.setId(rnd.nextInt(100000)); то проблема исчезла но, это не круто.
Эта ссылка с рандом id https://www.youtube.com/watch?v=PLe_ONU ... e=youtu.be но такое решение меня не устраивает, иногда кидает что не может найти ресуср, когда фрагмент где ViewPager находится, закрывается (popBackStack).
Вот так если я тену ViewPager c layout либо статический ID
Если залить фон. То за мест черного фона, будет бэкграунд но фрагмент не отображает
https://www.youtube.com/watch?v=CZ1D89t ... e=youtu.be
Cейчас накидал тестовый Использовал везде support.v4.fragment.
Баг остался, при повторном заходе на фрагмент с ViewPage контент не виден. При сколле соседния появляются.
Но если я делаю StartActivirty в котором есть ViewPager всегда отрабатывает нормально. Но мне так не подайдет. Мне нельзя вызывать активиту. Работа должна быть на фрагментах.
Конечно как я сделал, так делает нельзя. Но начал динамически создавать ViewPager и добавлять его в мой LinerLayout
Сразу падло, смотрю просит задать id задал статический id проблема осталась.
Когда сделал viewPager.setId(rnd.nextInt(100000)); то проблема исчезла но, это не круто.
Эта ссылка с рандом id https://www.youtube.com/watch?v=PLe_ONU ... e=youtu.be но такое решение меня не устраивает, иногда кидает что не может найти ресуср, когда фрагмент где ViewPager находится, закрывается (popBackStack).
Код: Выделить всё
public class FragmentViewPage extends BasicFragment implements OnPageChangeListener{
private ViewPager viewPager;
private ArrayList<DataInfoMainNews> listNews;
private AdapterForPageView adapterForPageView;
private ProgressBar progressBar;
private LinearLayout layout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_news_detail_main_contener, null);
int idGroup = this.getArguments().getInt(KEY_GROUP_NEWS);
int idNews = this.getArguments().getInt(KEY_NUMBER_NEWS);
listNews = FragmentNews.getDataInfoMainNews(idGroup);
layout = (LinearLayout) view.findViewById(R.id.fragment_liner);
viewPager = new ViewPager(getActivity());
FrameLayout.LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
viewPager.setLayoutParams(params);
Random rnd = new Random();
viewPager.setId(rnd.nextInt(1000000));
layout.addView(viewPager);
adapterForPageView = new AdapterForPageView(getFragmentActivity().getSupportFragmentManager(), listNews, idGroup);
viewPager.setAdapter(adapterForPageView);
progressBar = (ProgressBar) view.findViewById(R.id.fragment_news_detail_progressBar);
progressBar.setMax(listNews.size());
viewPager.setOnPageChangeListener(this);
viewPager.setCurrentItem(idNews);
progressBar.setProgress(idNews+1);
progressBar.getProgressDrawable().setColorFilter(Color.RED, Mode.SRC_IN);
setCallBackFunction();
return view;
}
Вот так если я тену ViewPager c layout либо статический ID
Если залить фон. То за мест черного фона, будет бэкграунд но фрагмент не отображает
https://www.youtube.com/watch?v=CZ1D89t ... e=youtu.be
Cейчас накидал тестовый Использовал везде support.v4.fragment.
Баг остался, при повторном заходе на фрагмент с ViewPage контент не виден. При сколле соседния появляются.
Но если я делаю StartActivirty в котором есть ViewPager всегда отрабатывает нормально. Но мне так не подайдет. Мне нельзя вызывать активиту. Работа должна быть на фрагментах.
Re: Урок 125. ViewPager
Пипец какой то
Вот если кому нужно
В проекте переделал и все работает. Теперь правда по классам не красиво и га... код, но главное работает
И прикол в том, что должен пойти именно getChildFragmentManager() а что бы его передать нужно унаследоваться от android.support.v4.app.Fragment; и проблема со вторым запуском и темным экраном пропала.
+ Не используте при динамических созданиях фгаментов FragmentPagerAdapter хранит все вьюхи и не удаляет. Используйте FragmentStatePagerAdapter.
Вот если кому нужно
Код: Выделить всё
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewPager = (ViewPager) view.findViewById(R.id.pager);
adapter= new Adapter(getChildFragmentManager()); <-Именно эта строчка убрала баг и менно нужно передать в адаптер SupportManagerFragment (getChildFragmentManager())
viewPager.setAdapter(adapter);
}
И прикол в том, что должен пойти именно getChildFragmentManager() а что бы его передать нужно унаследоваться от android.support.v4.app.Fragment; и проблема со вторым запуском и темным экраном пропала.
+ Не используте при динамических созданиях фгаментов FragmentPagerAdapter хранит все вьюхи и не удаляет. Используйте FragmentStatePagerAdapter.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
getChildFragmentManager необходим когда создают фрагмент во фрагменте.
Re: Урок 125. ViewPager
Спасибо буду знать,
Еще такой вопрос. ВСе тот же ViewPager все вроде бы как работает. Дальше пишу и столкнулся с проблемой. Как решить не знаю.
ViewPager показывает фрагмент. Тискаю на кнопку, происходит StartActivity. Но когда тискаю back.
Я перехожу на ViewPager и фрагменты начинают сролится при переходе на них через 1-2 секунд. На рандомное значение. У фрагмента родитель ScrollView -> можно ли отключить вообще скрол? То что пробовал, не получилось.
Еще такой вопрос. ВСе тот же ViewPager все вроде бы как работает. Дальше пишу и столкнулся с проблемой. Как решить не знаю.
ViewPager показывает фрагмент. Тискаю на кнопку, происходит StartActivity. Но когда тискаю back.
Я перехожу на ViewPager и фрагменты начинают сролится при переходе на них через 1-2 секунд. На рандомное значение. У фрагмента родитель ScrollView -> можно ли отключить вообще скрол? То что пробовал, не получилось.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
У вашего фрагмента родитель скролл? Конечно можно, вы же создаете фрагмент!У фрагмента родитель ScrollView -> можно ли отключить вообще скрол?
не совсем понялViewPager показывает фрагмент. Тискаю на кнопку, происходит StartActivity. Но когда тискаю back.
Я перехожу на ViewPager и фрагменты начинают сролится при переходе на них через 1-2 секунд.
Re: Урок 125. ViewPager
Почти разобрался но дела не в Fragmente а в ScrollView + WebView через 10-15 секунд при переходах на другие фрагменты(слайдом) WebView скролит.
Просто у меня есть FragmentNews он содержит титульник, 3 кнопки, картинку и webView ( WebView нужен, по том что будет текст приходить в HTML виде, со стилями и тд тп). Вот я и думаю отключить скрол на 2 секунды потом включить, но это не true. Сейчас за мест webView кинул TextView и все отлично, скрола нету:)
а да + WebView может сразу даже и виден не быть. И что бы все окей просмотреть, все равно нужен ScrollView а дальше уже все в LinearLayout
А с ViewPager у меня еще прикольние проблема была. По сколько у меня Android 4.0+ я использовал обычные Fragment (не Support) и тут у меня началась головная боль.
По тому что мне нужно было в FragmentPageAdapter передать SupportFragmentManager через getChildFragmentManager (а у меня то возвращал FragmetManager) но как то на кастылях все работает, что бы ViewPager работал нормально.
Правда во всех Fragment пришлось ручками контент весь чистить и удалять, что бы в памяти не хранилось. И за моих махинаций.
А есть что нибудь подобное типа ViewPager только что бы работал на обычных Fragment( не Support.v4.)
Просто у меня есть FragmentNews он содержит титульник, 3 кнопки, картинку и webView ( WebView нужен, по том что будет текст приходить в HTML виде, со стилями и тд тп). Вот я и думаю отключить скрол на 2 секунды потом включить, но это не true. Сейчас за мест webView кинул TextView и все отлично, скрола нету:)
а да + WebView может сразу даже и виден не быть. И что бы все окей просмотреть, все равно нужен ScrollView а дальше уже все в LinearLayout
А с ViewPager у меня еще прикольние проблема была. По сколько у меня Android 4.0+ я использовал обычные Fragment (не Support) и тут у меня началась головная боль.
По тому что мне нужно было в FragmentPageAdapter передать SupportFragmentManager через getChildFragmentManager (а у меня то возвращал FragmetManager) но как то на кастылях все работает, что бы ViewPager работал нормально.
Правда во всех Fragment пришлось ручками контент весь чистить и удалять, что бы в памяти не хранилось. И за моих махинаций.
А есть что нибудь подобное типа ViewPager только что бы работал на обычных Fragment( не Support.v4.)
-
- Сообщения: 2
- Зарегистрирован: 17 апр 2014, 11:13
Re: Урок 125. ViewPager
Проблема, никак не могу найти решение, как будто бы только я с ней столкнулся: все примеры с связанные с листанием Fragment через ViewPager выполняются с одинаковой странностью, при перелистывании все элементы на экране смазываются. Пробовал как на эмуляторах, так и на смартфоне.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 125. ViewPager
Что-то непонятно, что там смазывается. Видео запиши сего дела.