Работа с ActionBar

Интерфейс, диалоги, темы, стили, меню
Ответить
skull
Сообщения: 48
Зарегистрирован: 22 апр 2014, 15:49

Работа с ActionBar

Сообщение skull » 20 май 2014, 14:21

Приветствую ребята!)

Не как не могу разобраться как работать с ActionBar ом, у меня возникли след.вопросы, которые я самостоятельно не смог решить:

1) как туда программно добавить кнопки ? (или уже статически добавить но до какого то времени держать не видимым Visible true and false)

2) Размещение кнопок по центру с лева с право (отступы и т.д.)

3) у меня в MainActivity есть TabHost а туда загружаю отдельные активности, как сделать так чтобы кнопки в разных пунктах TabHost выполняли разные функция ??

Помогите плжлста решить, а то уже башня кипит :(

Donart
Сообщения: 114
Зарегистрирован: 06 ноя 2013, 08:59

Re: Работа с ActionBar

Сообщение Donart » 20 май 2014, 21:13

1)В ActionBar работайте с фрагментами, кнопки туда добавляются также как и везде.
2)http://startandroid.ru/ru/uroki/vse-uro ... entov.html седьмой урок, седьмой... :(
3) Что значит
кнопки в разных пунктах TabHost выполняли разные функция
Повесить слушатель setOnTabChangedListener?

skull
Сообщения: 48
Зарегистрирован: 22 апр 2014, 15:49

Re: Работа с ActionBar

Сообщение skull » 21 май 2014, 06:33

Спасибо!

3) Что значит
кнопки в разных пунктах TabHost выполняли разные функция
Повесить слушатель setOnTabChangedListener?[/quote]

у меня есть MainActivity там с верху ActionBar, а все пространство MainActivity занимает TabHost в оторый я загружаю другие активности

tabSpec = tabHost.newTabSpec("tag1");
tabSpec.setIndicator("Список ТС");
tabSpec.setContent(new Intent(this, listlayout.class));

tabHost.addTab(tabSpec);

просто как узнать какая активность активна в табе ?

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

Re: Работа с ActionBar

Сообщение klblk » 21 май 2014, 08:00

skull писал(а):просто как узнать какая активность активна в табе ?
3) tabHost.getCurrentTab()?
А вообще активити в табе это плохо. Нужно через фрагменты делать.

2) Чтобы кнопки располагать на ActionBar'е как хочется, вероятно придется передавать ему кастомное view и уже с ним работать. Что-то вроде такого:
[syntax=java]LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
titleView = vi.inflate(R.layout.title_info_item, null);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM + ActionBar.DISPLAY_SHOW_HOME);
getSupportActionBar().setCustomView(titleView);[/syntax]

п.с. если не используете AppCompat или SherlockActionBar то getSupportActionBar() заменить на getActionBar()

1) Кнопки на ActionBar'е по сути это MenuItem. у которого есть метод setVisible.
[syntax=java]MenuItem item = menu.findItem(R.id.my_item);
item.setVisible(false);[/syntax]

skull
Сообщения: 48
Зарегистрирован: 22 апр 2014, 15:49

Re: Работа с ActionBar

Сообщение skull » 21 май 2014, 20:26

klblk писал(а): А вообще активити в табе это плохо.

Нужно через фрагменты делать.

А почему плохо ?

Я просто не смог разобраться как с фрагментом правильно работать и потому выбрал этот вариант :( , во фрагменты можно активности засовывать ? или это тоже плохо ??

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

Re: Работа с ActionBar

Сообщение Mikhail_dev » 21 май 2014, 21:07

Активности долго создаются. Они вообще по себе тяжелый элемент и представляют собой единый экран. Т.е. на одном экране не сделать две активности. А фрагменты можно. Они как раз таки и засовываются в активности и их можно располагать сколько надо. Фрагменты - это такой же фундаментальный элемент, как и активности. Я тоже с ними разбирался долго, но понимание того, что без них нельзя ничего хорошего написать, заставило изучить эту тему.

skull
Сообщения: 48
Зарегистрирован: 22 апр 2014, 15:49

Re: Работа с ActionBar

Сообщение skull » 28 май 2014, 18:56

Mikhail_dev писал(а):Активности долго создаются. Они вообще по себе тяжелый элемент и представляют собой единый экран. Т.е. на одном экране не сделать две активности. А фрагменты можно. Они как раз таки и засовываются в активности и их можно располагать сколько надо. Фрагменты - это такой же фундаментальный элемент, как и активности. Я тоже с ними разбирался долго, но понимание того, что без них нельзя ничего хорошего написать, заставило изучить эту тему.

Можешь дать примеры по фрагментам, но только примеры которые легко понимаются и многое показывают ..

Donart
Сообщения: 114
Зарегистрирован: 06 ноя 2013, 08:59

Re: Работа с ActionBar

Сообщение Donart » 28 май 2014, 21:07

Есть же уроки на сайте, там все понятно :geek:

skull
Сообщения: 48
Зарегистрирован: 22 апр 2014, 15:49

Re: Работа с ActionBar

Сообщение skull » 09 июн 2014, 06:16

А можно сделать так чтобы в ActionBar menu выводился (иконки) а при нажатии кнопки меню устройства чтобы меню не выходила ??

Ответить