Урок 76. Tab - вкладки. Общий обзор

Обсуждение уроков
Andy_ua
Сообщения: 21
Зарегистрирован: 06 июл 2012, 17:23

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Andy_ua » 22 фев 2013, 19:13

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

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение rezak90 » 22 фев 2013, 20:12

Andy_ua писал(а):Добрый день.
такой вопрос
возможно ли перехватывать нажатие на кнопку в таб баре и не менять контент?
напррмер, есть там бар с обычным поведение, но есть один таб при нажатии на который появляетяс всплывающее меню поверх текущего контента
OnTabChangeListener
R.id.team
Политика на форуме запрещена

Аватара пользователя
dens
Сообщения: 47
Зарегистрирован: 03 фев 2013, 00:14

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение dens » 22 фев 2013, 22:22

Но вообще, так делать некрасиво, вкладки должны переключать экраны, а не отвечать за действия. Не юзабельно выглядят такие вещи. Где-то на хабре читал даже статью, посвещённую этому, там достаточно хорошо раскрыта тема, с примерчиками из жизни. Возможно, стоит прилепить такую кнопку к ActionBar'y или ещё как-то. Хотя, конечно, судить не мне.

Andy_ua
Сообщения: 21
Зарегистрирован: 06 июл 2012, 17:23

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Andy_ua » 24 фев 2013, 10:26

>OnTabChangeListener
если бы было все так просто я бы не спрашивал :)
как запретить изменение контенка при нажатии на один из табов?
можно ли добавить обычную кнопку к таб бару?

>Но вообще, так делать некрасиво, вкладки должны переключать экраны,
согласен. но есть ТЗ согласно которому есть вкладка "+", при нажатии на которую нужно показывать список операций. можно конечно сделать или найти кастомный таб бар, но не хотелось бы

Аватара пользователя
dens
Сообщения: 47
Зарегистрирован: 03 фев 2013, 00:14

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение dens » 24 фев 2013, 15:15

Через ActionBar, по-моему, такие штуки самое то делать. Но это уже, конечно, на ваше усмотрение.

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение rezak90 » 24 фев 2013, 16:13

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

Andy_ua
Сообщения: 21
Зарегистрирован: 06 июл 2012, 17:23

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Andy_ua » 24 фев 2013, 16:26

dens писал(а):Через ActionBar, по-моему, такие штуки самое то делать. Но это уже, конечно, на ваше усмотрение.
а его можно поместить в нижнюю часть окна?
к тому же мне нужна поддержка начиная с Андроид 2.2.

была идея поместить кнопку внутри TabWidget, выглядело то что нужно, но табы после этого перестали работать.
поступил проще
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+" >
</Button>

<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

Andy_ua
Сообщения: 21
Зарегистрирован: 06 июл 2012, 17:23

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Andy_ua » 24 фев 2013, 16:29

rezak90 писал(а):я на счёт ActionBar и намекал, разве кто то ещё использует обычный табхост? идите в ногу со временем))
в ногу со временем идти хорошо, но есть требования клиента по дизайну и версии API :)
его можно кастомизировать? нет ли тут ограничений?

Аватара пользователя
dens
Сообщения: 47
Зарегистрирован: 03 фев 2013, 00:14

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение dens » 24 фев 2013, 18:44

Насчёт ActionBar: есть альтернативы для старых версий Android (везде советуют Sherlock), правда я сам пока пишу своё приложение со стандартным, потом буду, наверное, на шерлок переделывать (надеюсь, там правок для этого будет минимум).
Но вот снести табы вниз, как я понял, не получится, по крайней мере у меня не получилось. Я в одной из тем задавал этот вопрос, мне ответили как-то размыто, намекнув на LayoutParams, но я не вкурил, как ими пользоваться, чтобы было так, как мне надо, так что у меня сейчас табы пока сверху.
А TabWidget и правда уже deprecated, все стараются перейти на фрагменты. А они есть в Support lib'ах, так что с ними проблем нет в принципе.

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение rezak90 » 24 фев 2013, 20:02

actionbar можно сделать split и будет он снизу и сверху, табы соответственно перейдут вниз.
R.id.team
Политика на форуме запрещена

Аватара пользователя
dens
Сообщения: 47
Зарегистрирован: 03 фев 2013, 00:14

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение dens » 24 фев 2013, 22:45

я не нашёл по этому документации. как снести вниз управляющие кнопки - это да, видел. напиши пару строчек, как оставить сверху сам экшен бар, а табы снести вниз страницы, если знаешь, как?

zenit
Сообщения: 13
Зарегистрирован: 03 фев 2013, 22:59

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение zenit » 07 мар 2013, 10:32

zenit писал(а):Делаю все как показано в уроке, но не отображается картинка во вкладке (звездочка эта). Не могу понять почему.
Подскажите, пожалуйста, как добавить звездочки (рисунки в вкладки tab)? Делаю все по уроку а все равно рисунков нет:-(((. Предполагаю что необходимо иметь такие иконки? и добавить их в drawable? проясните ситуацию?

в уроке в файле "tab_icon_selector.xml" есть такие строчки:

<item
android:drawable = "@android:drawable/star_on"
...
>
</item>

<item
android:drawable = "@android:drawable/star_off"
...
>
</item>


Такое впечатление что должны быть еще файлы: star_on и star_off?

zenit
Сообщения: 13
Зарегистрирован: 03 фев 2013, 22:59

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение zenit » 07 мар 2013, 15:21

without knowing much in depth about themes, i have discovered that specifying the theme @android:style/Theme.NoTitleBar in the application manifest solves the issue and the icons show up in the tabs.

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
>
<!-- MANIFEST -->
</application>

Hope, that helps!

zenit
Сообщения: 13
Зарегистрирован: 03 фев 2013, 22:59

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение zenit » 07 мар 2013, 16:05

Подскажите как быть? Добавил в свой проект /res/drawable две иконки с названимями my_icon1.png и my_icon2.png. Хочу вместо их поставить вместо start_on и star_off. Когда просто заменяю в файле tab_icon_selector:

<selector
<item
...
android:drawable = "@android:drawable/my_icon1"
..>
<item/>
то пишет что ошибка: No resource found that matches the given name (at 'drawable' with value '@android:drawable/my_icon1')

Подскажите как вместо звездочки вставить свою иконку?

zenit
Сообщения: 13
Зарегистрирован: 03 фев 2013, 22:59

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение zenit » 07 мар 2013, 16:36

change like this

android:drawable="@drawable/button9patch"

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Foenix » 29 мар 2013, 17:00

Люди, простой вопрос..
сделала четвертую вкладку, они собрались в один комбобокс в заголовке активити. Как сделать так, чтоб в линию были, прокручиваемые (пальцем, как в других приложениях)?
Использовался класс extends FragmentActivity (каждая вкладка во врагменте).
Наверное, где-то галку не поставила или в манифесте ему чето сказать надо..?
Хотела погуглить - не знаю че писать в запросе..
R.id.team

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение KamiSempai » 29 мар 2013, 17:16

Olivka, попробуй "android tabhost scrolling".
В первой же ссылке то, что нужно.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Foenix » 29 мар 2013, 17:34

Дело в том, что как я упомянула, у меян не так как в уроке, а через ActionBar

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

public class ATools extends FragmentActivity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		final ActionBar bar = getActionBar();
		bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
		bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

		bar.addTab(bar.newTab().setText("***")
				.setTabListener(new TabListener<TToolsTreeFragment>(this, "1", TToolsTreeFragment.class)));
		...
		if (savedInstanceState != null) {
			bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
		}
	}
Поэтому xml-обетки TabHost нету, в которую нужно вставить это по первой ссылке

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

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@android:id/tabhost"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
  <LinearLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
    <HorizontalScrollView android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:fillViewport="true"
                          android:scrollbars="none">
      <TabWidget android:id="@android:id/tabs"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"/>
    </HorizontalScrollView>
    <FrameLayout android:id="@android:id/tabcontent"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent" />
  </LinearLayout>
</TabHost>
Или я что-то не так понимаю?
R.id.team

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение KamiSempai » 29 мар 2013, 17:46

"android actionbar scrolling" :roll:
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

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

Re: Урок 76. Tab - вкладки. Общий обзор

Сообщение Foenix » 29 мар 2013, 17:53

:-D спасибо

Там пишут, что нужно использовать не табы, а ViewPager.. кошмар, а я уже и в табах запуталась.
R.id.team

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

Ответить