Страница 1 из 1
Работа с ActionBar
Добавлено: 20 май 2014, 14:21
skull
Приветствую ребята!)
Не как не могу разобраться как работать с ActionBar ом, у меня возникли след.вопросы, которые я самостоятельно не смог решить:
1) как туда программно добавить кнопки ? (или уже статически добавить но до какого то времени держать не видимым Visible true and false)
2) Размещение кнопок по центру с лева с право (отступы и т.д.)
3) у меня в MainActivity есть TabHost а туда загружаю отдельные активности, как сделать так чтобы кнопки в разных пунктах TabHost выполняли разные функция ??
Помогите плжлста решить, а то уже башня кипит

Re: Работа с ActionBar
Добавлено: 20 май 2014, 21:13
Donart
1)В ActionBar работайте с фрагментами, кнопки туда добавляются также как и везде.
2)
http://startandroid.ru/ru/uroki/vse-uro ... entov.html седьмой урок, седьмой...
3) Что значит
кнопки в разных пунктах TabHost выполняли разные функция
Повесить слушатель setOnTabChangedListener?
Re: Работа с ActionBar
Добавлено: 21 май 2014, 06:33
skull
Спасибо!
3) Что значит
кнопки в разных пунктах TabHost выполняли разные функция
Повесить слушатель setOnTabChangedListener?[/quote]
у меня есть MainActivity там с верху ActionBar, а все пространство MainActivity занимает TabHost в оторый я загружаю другие активности
tabSpec = tabHost.newTabSpec("tag1");
tabSpec.setIndicator("Список ТС");
tabSpec.setContent(new Intent(this, listlayout.class));
tabHost.addTab(tabSpec);
просто как узнать какая активность активна в табе ?
Re: Работа с ActionBar
Добавлено: 21 май 2014, 08:00
klblk
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]
Re: Работа с ActionBar
Добавлено: 21 май 2014, 20:26
skull
klblk писал(а):
А вообще активити в табе это плохо.
Нужно через фрагменты делать.
А почему плохо ?
Я просто не смог разобраться как с фрагментом правильно работать и потому выбрал этот вариант

, во фрагменты можно активности засовывать ? или это тоже плохо ??
Re: Работа с ActionBar
Добавлено: 21 май 2014, 21:07
Mikhail_dev
Активности долго создаются. Они вообще по себе тяжелый элемент и представляют собой единый экран. Т.е. на одном экране не сделать две активности. А фрагменты можно. Они как раз таки и засовываются в активности и их можно располагать сколько надо. Фрагменты - это такой же фундаментальный элемент, как и активности. Я тоже с ними разбирался долго, но понимание того, что без них нельзя ничего хорошего написать, заставило изучить эту тему.
Re: Работа с ActionBar
Добавлено: 28 май 2014, 18:56
skull
Mikhail_dev писал(а):Активности долго создаются. Они вообще по себе тяжелый элемент и представляют собой единый экран. Т.е. на одном экране не сделать две активности. А фрагменты можно. Они как раз таки и засовываются в активности и их можно располагать сколько надо. Фрагменты - это такой же фундаментальный элемент, как и активности. Я тоже с ними разбирался долго, но понимание того, что без них нельзя ничего хорошего написать, заставило изучить эту тему.
Можешь дать примеры по фрагментам, но только примеры которые легко понимаются и многое показывают ..
Re: Работа с ActionBar
Добавлено: 28 май 2014, 21:07
Donart
Есть же уроки на сайте, там все понятно

Re: Работа с ActionBar
Добавлено: 09 июн 2014, 06:16
skull
А можно сделать так чтобы в ActionBar menu выводился (иконки) а при нажатии кнопки меню устройства чтобы меню не выходила ??