Урок 108. Android 3. ActionBar. Навигация - табы и выпадающий список

Обсуждение уроков
Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение rezak90 » 21 июл 2013, 16:22

ActionBar привязан к активити. Можно сделать переходы но это во-первых будет не красиво; во-вторых не лагично и криво... в чём проблема сделать одну активити и содержимое фрагментами?
R.id.team
Политика на форуме запрещена

Аватара пользователя
shtil
Сообщения: 27
Зарегистрирован: 04 июл 2013, 10:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение shtil » 21 июл 2013, 16:35

у меня получается на этих активити будет висеть еще drawer navigation... в принципе, если сделать его перегружаемым... не подскажете, как выйти с положения и правильно это реализовать?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Foenix » 21 июл 2013, 16:55

shtil писал(а):Здравствуйте!
На сколько я понял, то выпадающий список в Action Bar'е может находиться только на одном активити и работать приходится с фрагментами. Меня интересует такой вопрос: можно ли как то реализовать этот список, чтобы он был на всех активити, и с его помощью можно было переходить между этими активити?
Спасибо.
почитай сайт девелоперов по поводу интерфейса (или хотя бы картинки посмотри), рассмотри другие приложения популярные, как там реализовано, нельзя переносить с десктопа (или из любой другой ОС) интерфейс в андроид.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
shtil
Сообщения: 27
Зарегистрирован: 04 июл 2013, 10:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение shtil » 21 июл 2013, 19:03

Foenix писал(а):
shtil писал(а):Здравствуйте!
На сколько я понял, то выпадающий список в Action Bar'е может находиться только на одном активити и работать приходится с фрагментами. Меня интересует такой вопрос: можно ли как то реализовать этот список, чтобы он был на всех активити, и с его помощью можно было переходить между этими активити?
Спасибо.
почитай сайт девелоперов по поводу интерфейса (или хотя бы картинки посмотри), рассмотри другие приложения популярные, как там реализовано, нельзя переносить с десктопа (или из любой другой ОС) интерфейс в андроид.
ок, спасибо. сейчас как раз этим и буду заниматься

random
Сообщения: 4
Зарегистрирован: 18 окт 2012, 12:18

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение random » 11 фев 2014, 14:56

Есть задачка сделать кнопку назад в action bar, название титла которого будет совпадать с названием предыдущего раздела. Есть ли способы определить предыдущий раздел без передачи extras/сохранения?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Foenix » 12 фев 2014, 06:53

Ищи на сайте андроид девелопер раздел о навигации по приложению. Свои кнопки не советую изобретать, там полно дано примеров (в том числе кода) как это сделать.
например, тут http://developer.android.com/design/pat ... ation.html
или там еще полно всякой инфы.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

random
Сообщения: 4
Зарегистрирован: 18 окт 2012, 12:18

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение random » 12 фев 2014, 17:53

Foenix писал(а):Ищи на сайте андроид девелопер раздел о навигации по приложению. Свои кнопки не советую изобретать, там полно дано примеров (в том числе кода) как это сделать.
например, тут http://developer.android.com/design/pat ... ation.html
или там еще полно всякой инфы.
Спасибо за подсказку. Сами кнопки изобретать не понадобится, принцип работы - возврат на предыдущее активити (или другое в стеке)вопрос только в титле, во всех примерах титл текущий, а заказчику понадобилось вот указывать раздел с которого пришли.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Foenix » 12 фев 2014, 19:11

так ты же новую активити открываешь, передаешь ей данные? ну и передавай откуда - наименование. вчем проблема?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

random
Сообщения: 4
Зарегистрирован: 18 окт 2012, 12:18

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение random » 13 фев 2014, 12:08

Есть ли способы определить предыдущий раздел без передачи extras/сохранения?
Про передачу инфы между активити и сохранением в preference первое что в голову пришло и не проблема так сделать. Только не для всех разделов в приложении есть отдельное активити они сделаны через фрагменты - есть 10-15 разделов которые держатся на 2-3 активити. Надо сохранять и удалять в настройки/файл. Ну и количество разделов не внушает оптимизма.

Так что проблема только в расходах времени и дополнительном коде для изобретения велосипеда, который возможно уже существует:)

snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение snowkam » 28 мар 2014, 08:50

Tab tab = bar.newTab(); определен в методе onCreate
а используется в методах onTabReselected, onTabSelected, onTabUnselected
Вы наверное опечатались?

vapsel
Сообщения: 16
Зарегистрирован: 23 мар 2014, 00:23

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение vapsel » 23 апр 2014, 20:41

помогите, пожалуйста. не могу понять как прикрепить к табу фрагмент, наполнить таб каким то содержимым. брал пример в гугле (естественно подставил свои значения в текст и классы фрагментов):

Код: Выделить всё

Tab tab = actionBar.newTab()
                       .setText(R.string.artist)
                       .setTabListener(new TabListener<ArtistFragment>(
                               this, "artist", ArtistFragment.class));
в части TabListener<ArtistFragment>(this, "artist", ArtistFragment.class) у меня выбивает ошибку TabListener cannot be resolved to a type, пытаюсь как-то исправить по подсказкам - появляются новые ошибки... в итоге не работает...
заранее спасибо за помощь

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Foenix » 23 апр 2014, 21:18

никто не сможет тебе помочь в таком вопросе, т.к. тут нету провидцев. Урок написан. Учись отлаживать - посмотри вебинар по отладке, и потихоньку разберешься.
А данный вопрос слишком общий
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

vapsel
Сообщения: 16
Зарегистрирован: 23 мар 2014, 00:23

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение vapsel » 23 апр 2014, 23:22

Foenix писал(а):никто не сможет тебе помочь в таком вопросе, т.к. тут нету провидцев. Урок написан. Учись отлаживать - посмотри вебинар по отладке, и потихоньку разберешься.
А данный вопрос слишком общий
возможно недостаточно точно описал свою проблему. Возможно так: в каком месте нужно прикреплять фрагмент к табу? в уроке этого не нашел...
если предоставите код, очень буду благодарен...

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Mikhail_dev » 23 апр 2014, 23:48

Не совсем верно поняли табы. Это как бы помощник, их можно настроить для переключения табов. Например
тут я создал табы
[syntax=java5]
private void prepareActionBar() {
ActionBar bar = getSupportActionBar();
ActionBarTabsListener listener = new ActionBarTabsListener();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
if (isTwoPane()) {
bar.addTab(bar.newTab()
.setText(tabs[1])
.setTabListener(listener));
bar.addTab(bar.newTab()
.setText(tabs[2])
.setTabListener(listener));
} else {
bar.addTab(bar.newTab()
.setText(tabs[0])
.setTabListener(listener));
bar.addTab(bar.newTab()
.setText(tabs[1])
.setTabListener(listener));
bar.addTab(bar.newTab()
.setText(tabs[2])
.setTabListener(listener));
}
}
[/syntax]
а вот сам слушатель кликов табов. При клике на табе, я в ViewPager'e вызываю смену фрагмента.
[syntax=java5]
private class ActionBarTabsListener implements ActionBar.TabListener {
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { }

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
if (viewPagerFragment!=null) {
viewPagerFragment.activate(isTwoPane?tab.getPosition()+1:tab.getPosition());
}
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { }
};
[/syntax]
Другими словами вам надо в onTabSelected добавить код для смены фрагмента в нужном вам месте.

vapsel
Сообщения: 16
Зарегистрирован: 23 мар 2014, 00:23

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение vapsel » 25 апр 2014, 14:31

m090050 писал(а):Другими словами вам надо в onTabSelected добавить код для смены фрагмента в нужном вам месте.
спасибо за разъяснения, чуток еще поискал и понял, что нужно делать)

Аватара пользователя
FastRus1804
Сообщения: 49
Зарегистрирован: 22 июн 2014, 11:20

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение FastRus1804 » 07 окт 2014, 10:40

Почему Элементы не уходят вниз как в примере? хотя всё написал правильно
Вложения
Снимок.PNG
Снимок.PNG (164.35 КБ) 11433 просмотра

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение klblk » 07 окт 2014, 12:40

FastRus1804 писал(а):Почему Элементы не уходят вниз как в примере? хотя всё написал правильно
Что-то подсказывает что дело в эмуляторе, слишком большой экран для Nexus 4 (у меня nexus 4 и на нижний бар помещается 6 иконок, а у вас в верхнем баре 8 итемов + иконка приложения), вероятно он считает его планшетом, а данная функция работает только на телефонах.
Попробуйте запустить на стандартном эмуляторе или на реальном телефоне, для проверки.

Аватара пользователя
Yennefer
Сообщения: 18
Зарегистрирован: 02 янв 2015, 17:36

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение Yennefer » 18 янв 2015, 18:33

Насколько я понимаю, после выхода API 21, навигация в ActionBar устарела. Подскажите, как теперь рекомендуется создавать табы?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение klblk » 19 янв 2015, 06:50

Yennefer писал(а):Насколько я понимаю, после выхода API 21, навигация в ActionBar устарела. Подскажите, как теперь рекомендуется создавать табы?
вероятно так: https://developer.android.com/samples/S ... index.html

AKhorevich
Сообщения: 6
Зарегистрирован: 24 май 2014, 21:01

Re: Урок 108. Android 3. ActionBar. Навигация - табы и выпад

Сообщение AKhorevich » 01 фев 2015, 23:51

У меня выдает java.lang.NullPointerException. По всей видимости ActionBar bar = getActionBar(); возвращает null. Как это решить?

Ответить