Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
verylazy
Заблокирован
#1

ViewPager - Программирование Android

20.09.2013, 17:49. Просмотров 898. Ответов 4
Метки нет (Все метки)

Всем.

Да я недалекий и тупой, уже дня три не могу никак понять
Есть ViewPager
XML
1
2
3
4
5
6
7
<android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:tag="pager" >
    </android.support.v4.view.ViewPager>
Я в него программно добавляю VideoView, но не могу понять как управлять параметрами этих добавленных вьюшек - gravity, размеры, отступы?

По умолчанию все слайды растягиваются на весь экран и перелистываются как положено.

Но я хочу добавлять вьюшки определенного размера, к примеру 300 на 100 точек.
Я частично (и мне кажется через ж...у) добрался до лейаута этих дочерних картинок вот так
Java
1
2
3
4
5
        FrameLayout.LayoutParams vlp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
        vlp.width = 300;
        vlp.height = 100;
        vlp.gravity = Gravity.CENTER;
        pager.setLayoutParams(vlp);
Если применить строки выше добавить видео таким образом, то рядом с первой картинкой, тут же рядом, идет следующий слайд. Пейджер этот ведь не так должен работать - одна картинка на экране и пальцем их листать.

Если туманно написал - скажите, я перепишу, а то вопрос этот меня мучает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 17:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ViewPager (Программирование Android):

ViewPager - Программирование Android
Помогите пожалуйста. Использую эту фичу в своей программе(пример один и его очень много в поисковике). И столкнулся с проблемой. На...

ViewPager - Программирование Android
Здравствуйте! В приложении использовал пример с Хабра http://habrahabr.ru/post/131889/, однако, не могу понять как при прокрутке экранов...

Правильный ViewPager - Программирование Android
Вообщем все что я сделал прикрепил на картинке. Беда то вот в чем. Ну например я тыкаю пальцем ну и скролирую, а тыкаю то я в кнопку...

Поворот ViewPager - Программирование Android
Как повернуть ViewPager на 90 градусов при заблокированной портретной ориентации? Применяю RotateAnimation, но анимация не срабатывает до...

ViewPager Indicator - Программирование Android
Здравствуйте! Взял пример с https://github.com/JakeWharton/Android-ViewPagerIndicator и хотел бы объединить табы с индикатором который...

ViewPager автодаводка - Программирование Android
Подскажите пожалст ,как можно изменить автодаводку уменьшить или увеличить?

4
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
20.09.2013, 19:52 #2
это нужно делать для VideoView, а не ViewPager"а
Java
1
2
vlp.width = 300;
vlp.height = 100;
а вот это уже для ViewPager"а
Java
1
vlp.gravity = Gravity.CENTER;
1
verylazy
Заблокирован
20.09.2013, 20:04  [ТС] #3
Гравити у пейджера установлено в xml файле. А как мне обратиться к параметрам вьюшек, которые я программно туда добавляю?
В методе, когда формируется массив VideoView для пейджер адаптера я пытался обратиться как-то что бы выставить размеры вьюшек. Но мне же сначала нужно взять getLayoutParameters(), иначе куда их вписывать?
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
20.09.2013, 21:53 #4
Может быть проблема в том, что вы сначала задаёте одни параметры слоя MATCH_PARENT, а потом задаёте размер 300 на 100 ?
Java
1
2
3
4
5
FrameLayout.LayoutParams vlp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
        vlp.width = 300;
        vlp.height = 100;
        vlp.gravity = Gravity.CENTER;
        pager.setLayoutParams(vlp);
Может нужно так
Java
1
2
3
FrameLayout.LayoutParams vlp = new FrameLayout.LayoutParams(300, 100);
        vlp.gravity = Gravity.CENTER;
        pager.setLayoutParams(vlp);
http://developer.android.com/referen...rams(int, int)
1
verylazy
Заблокирован
21.09.2013, 00:24  [ТС] #5
Всем спасибо, получилось!
Теперь только 1 вьюшка на экране, даже если она маленького размера, все листается.
Моя ошибка была в том, что я делал вот так
Java
1
FrameLayout.LayoutParams vlp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
а потом перебивал размеры либо оба либо ни одного, а нужно было только задавать высоту (если необходимо).

Получается так - по ширине MATCH_PARENT, то есть на всю ширину родителя-пейджера, а высота по необходимости задается. Тогда картинка масштабируется с сохранением пропорций и при этом не дает как бы вылезти следующей вьюшке.
0
21.09.2013, 00:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 00:24
Привет! Вот еще темы с ответами:

ViewPager и TextView - Программирование Android
В приложении ViewPager и TextView. Все работает. Теперь нужно впихнуть во ViewPager 2 TextView. Можно ли это сделать и как?

ViewPager и ListView - Программирование Android
Вообще пытаюсь сделать пролистывающиеся редактируемые списки. Для этого использую ViewPager и ListView. Так как ViewPager использует...

ViewPager и Tab - Программирование Android
Здравствуйте. Есть приложение на андроид C# (файл проекта в приложении). Он нормально функционирует, но возникает проблема при...

GridView и ViewPager - Программирование Android
Всем привет. У меня есть GridView, в котором можно, конечно же, тыкать на пункты списка и открывать новую активити: например,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru