Страница 1 из 4

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

Добавлено: 06 май 2012, 23:00
damager82
В этом уроке:
- создаем экран с вкладками
- используем иконку в названии вкладки
- используем обработчик перехода между вкладками


Click here to read this article!

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

Добавлено: 07 май 2012, 04:44
viacheslav
Гугл вроде рекомендует не использовать вкладки, но с удовольствием почитаю. Спасибо :)

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

Добавлено: 07 май 2012, 21:59
damager82
viacheslav писал(а):Гугл вроде рекомендует не использовать вкладки, но с удовольствием почитаю. Спасибо :)
Интересно, не встречал такого мнения. Скиньте пруфлинк, плз, если найдете. Я добавлю в урок эту инфу.

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

Добавлено: 07 май 2012, 23:04
viacheslav
На курсах по андройду препод говорил. Сказал, что раньше телефоны были маленькие и табы делали вверху, потом телефоны стали большие и их перенесли вниз, чтобы пальцем доставать можно было) А вообще, если я ничего не перепутал, то гугл рекомендует от них отказаться вообще.

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

Добавлено: 08 май 2012, 09:24
andev
damager82 писал(а):Интересно, не встречал такого мнения. Скиньте пруфлинк, плз, если найдете.
http://developer.android.com/reference/ ... ivity.html
public class TabActivity extends ActivityGroup
This class is deprecated.
New applications should use Fragments instead of this class; to continue to run on older devices, you can use the v4 support library which provides a version of the Fragment API that is compatible down to DONUT.

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

Добавлено: 08 май 2012, 13:23
student_fm
1) как опустить табы вниз?
2) Как реализовать чтобы в каждой вкладке был свой стек активностей? При переключении вкладок переключаться между стеками:
вкладка1: A -> B -> C -> D
вкладка2: E -> F -> G
При этом чтобы внутри вкладки можно было передвигаться между активностями.

Короче говоря как реализовать нормальный TabBar. Уровень API - 7.

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

Добавлено: 10 май 2012, 09:25
damager82
andev писал(а):This class is deprecated.
New applications should use Fragments instead of this class; to continue to run on older devices, you can use the v4 support library which provides a version of the Fragment API that is compatible down to DONUT.
Так это же связано с фрагментами. Тут не только tab "запрещены".

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

Добавлено: 01 ноя 2012, 05:05
arreke
Подскажите, пожалуйста, как сделать вертикальный разделитель для вкладок, как на этой картинки - Изображение ?

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

Добавлено: 15 ноя 2012, 21:12
$01ny$hko
Доброго всем времени суток!
Подскажите, пожалуйста, как правильно добавить в данный код иконки для каждой вкладки?

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

	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        
        
        TabHost tabHost = getTabHost();

		TabHost.TabSpec tabSpec;

		tabSpec = tabHost.newTabSpec("tag1");
		tabSpec.setIndicator("Погнали!");
		tabSpec.setContent(new Intent(this, DroveActivity.class));
		tabHost.addTab(tabSpec);
		
		tabSpec = tabHost.newTabSpec("tag2");
		tabSpec.setIndicator("Рейтинг");                                                               в этой строке продолжить так ,res.getDrawable(R.drawable.android_menu_tab)
		tabSpec.setContent(new Intent(this, RatingActivity.class));
		tabHost.addTab(tabSpec);

		tabSpec = tabHost.newTabSpec("tag3");
		tabSpec.setIndicator("Карта");
		tabSpec.setContent(new Intent(this, MapActivity.class));
		tabHost.addTab(tabSpec);
		
		Display display = getWindowManager().getDefaultDisplay();
		Log.d("Resolution", "resolution: "+display.getWidth()+" x "+ display.getHeight());
    }
    
   
	
	
	 @Override
	    public boolean onCreateOptionsMenu(Menu menu) {
	        getMenuInflater().inflate(R.menu.activity_main, menu);
	        return true;
	    }

	
}
И ещё не совсем понятный момент: нужно для этого ещё что-нибудь,кроме как добавить сами иконки в res/drawable/ ...?

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

Добавлено: 15 ноя 2012, 22:10
rezak90
заместь tabSpec.setIndicator("Погнали!"); нужно передавать не текст а вьюшку, код примерно должен выглядеть так:

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

ImageView iv = new ImageView(this, null);
iv.setBackgroundResource(R.drawable.my_icon);
tabSpec.setIndicator(iv);

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

Добавлено: 19 ноя 2012, 08:26
nubodroid
Всем доброго времени суток.
Как опустить вкладки вниз?

Всем заранее спасибо

З.Ы. Тут уже был этот вопрос... может народ просто не заметил его....

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

Добавлено: 19 ноя 2012, 09:06
rezak90
nubodroid писал(а):Всем доброго времени суток.
Как опустить вкладки вниз?

Всем заранее спасибо

З.Ы. Тут уже был этот вопрос... может народ просто не заметил его....
http://stackoverflow.com/questions/2401 ... in-android
http://stackoverflow.com/questions/2395 ... the-bottom

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

Добавлено: 19 ноя 2012, 09:15
nubodroid
rezak90 писал(а):
nubodroid писал(а):Всем доброго времени суток.
Как опустить вкладки вниз?

Всем заранее спасибо

З.Ы. Тут уже был этот вопрос... может народ просто не заметил его....
http://stackoverflow.com/questions/2401 ... in-android
http://stackoverflow.com/questions/2395 ... the-bottom
Спасибо большое! Получилось ))

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

Добавлено: 03 фев 2013, 17:15
kotikkirill
подскажите пожалуйста, как вставить в заголовки вкладок String переменные из res/values/strings.xml

искал в интернете, так и не нашел

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

Добавлено: 03 фев 2013, 19:49
dens
kotikkirill писал(а):подскажите пожалуйста, как вставить в заголовки вкладок String переменные из res/values/strings.xml
искал в интернете, так и не нашел

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

getResources().getString(R.string.id)

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

Добавлено: 17 фев 2013, 22:23
zenit
Делаю все как показано в уроке, но не отображается картинка во вкладке (звездочка эта). Не могу понять почему.

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

Добавлено: 17 фев 2013, 22:40
Озорная Свинья
Ну это очень печально :(

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

Добавлено: 21 фев 2013, 17:11
Volha
Как сделать чтобы ширина заголовка вкладки была процент от экрана? Или хотя бы фиксированный размер был.
Передаю в заголовок вьюшку и его тут же неумеренно раздувает (а в портретном варианте на планшете это выглядит просто ужасно). Хотя даже пыталась ширину в дп задавать, не помогает.

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

Добавлено: 21 фев 2013, 21:57
rezak90
Volha писал(а):Как сделать чтобы ширина заголовка вкладки была процент от экрана? Или хотя бы фиксированный размер был.
Передаю в заголовок вьюшку и его тут же неумеренно раздувает (а в портретном варианте на планшете это выглядит просто ужасно). Хотя даже пыталась ширину в дп задавать, не помогает.
трудно так вам сразу ответить, может у вас там fill_parent где то стоит, может ещё чего, выкладывайте код и будем глядеть

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

Добавлено: 22 фев 2013, 11:13
Volha
Вот заголовок вкладки tab_info_header.xml:

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

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
	 xmlns:android="http://schemas.android.com/apk/res/android"
	 android:layout_width="200dp"
	 android:layout_height="20dp">
  	<ImageView
	   	android:id="@+id/ivTabHeader"
	   	android:layout_width="200dp"
	   	android:layout_height="20dp"
		android:background="@drawable/tab_icon_info_selector"
    />
	<TextView
		 android:layout_width="wrap_content"
		 android:layout_height="wrap_content"
		 android:text="@string/info"
		 android:layout_marginLeft="20dp"
		 android:layout_alignParentLeft="true"
	 />
</RelativeLayout>
Добавляю вкладку:

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

     TabHost tabHost = getTabHost();
     TabHost.TabSpec tab;
     tab = tabHost.newTabSpec("tab_hotelInfo");
     tab.setIndicator(getLayoutInflater().inflate(R.layout.tab_info_header, null));
     tab.setContent(new Intent(this, Activity_HotelInfo.class));
Нужен еще какой-то код?