Форум программистов, компьютерный форум CyberForum.ru

Заголовки TabView в одну строку - Android

Восстановить пароль Регистрация
 
FIXx
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 33
25.11.2016, 10:48     Заголовки TabView в одну строку #1
Добрый день! Есть Activity, туда запихал TabView с несколькими вкладками. Проблема - как сделать так, чтобы названия вкладок писались в одну строчку, а не столбцом как на скрине.
Код ViewPagerAdapter.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.ArrayList;
import java.util.List;
 
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
 
 
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();
 
    public ViewPagerAdapter(FragmentManager fm) {
 
        super(fm);
    }
 
@Override
    public Fragment getItem(int position) {
    return mFragmentList.get(position);
}
 
@Override
    public int getCount() {
    return mFragmentList.size();
}
    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
 
    public void addFragment (Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
 
    }
}
Код Tarif.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
 
public class Tarif extends AppCompatActivity {
 
    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;
 
    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tarif);
 
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
 
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);
 
        tabLayout = (TabLayout) findViewById(R.id.tabLayout);
        tabLayout.setupWithViewPager(viewPager);
    }
 
 
    private void setupViewPager (ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new Internet_Fragment(), "Интернет");
        adapter.addFragment(new Televidenie_Fragment(), "Телевидение");
        adapter.addFragment(new Drygoe_Fragment(), "Другое");
        viewPager.setAdapter(adapter);
    }
 
}
Миниатюры
Заголовки TabView в одну строку  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FIXx
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 33
25.11.2016, 10:56  [ТС]     Заголовки TabView в одну строку #2
Не тот код основной активити закинул, вот реальный:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
 
public class Contacts extends AppCompatActivity {
 
    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;
 
    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts);
 
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
 
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);
 
        tabLayout = (TabLayout) findViewById(R.id.tabLayout);
        tabLayout.setupWithViewPager(viewPager);
    }
 
 
    private void setupViewPager (ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new Internet_Fragment(), "Главный офис");
        adapter.addFragment(new Televidenie_Fragment(), "Техподдержка");
        adapter.addFragment(new Drygoe_Fragment(), "Студия");
        adapter.addFragment(new Drygoe_Fragment(), "Пункты оплаты");
        viewPager.setAdapter(adapter);
    }
 
}
Паблито
не спать!
1786 / 1520 / 472
Регистрация: 12.05.2014
Сообщений: 5,549
Завершенные тесты: 1
25.11.2016, 11:50     Заголовки TabView в одну строку #3
в разметку TabLayout надо добавить
XML
1
2
        app:tabMode="fixed"
        android:theme="@style/MyTabLayoutTheme"
и создать стиль в styles.xml
XML
1
2
3
<style name="MyTabLayoutTheme" parent="AppTheme">
        <item name="android:lines">1</item>
    </style>
только весь этот текст все равно не вместится, надписи длинные, об этом ты не подумал?
FIXx
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 33
25.11.2016, 12:01  [ТС]     Заголовки TabView в одну строку #4
Цитата Сообщение от Паблито Посмотреть сообщение
только весь этот текст все равно не вместится, надписи длинные, об этом ты не подумал?
Я это понимаю, что все не вместится. Смысл заключается в том, чтобы расширять каждую вкладку по длине заголовка. Пусть даже будет прокрутка Tab-ов вправо.
Паблито
не спать!
1786 / 1520 / 472
Регистрация: 12.05.2014
Сообщений: 5,549
Завершенные тесты: 1
25.11.2016, 12:23     Заголовки TabView в одну строку #5
если скроллить табы то
XML
1
app:tabMode="scrollable"
и даже тему не нужно трогать
Alex_Fedor
16 / 16 / 2
Регистрация: 20.01.2015
Сообщений: 129
25.11.2016, 12:58     Заголовки TabView в одну строку #6
Паблито,
Стесняюсь спросить. А вы как андроид изучали? По каким сайтам книгам или курсам.
FIXx
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 33
25.11.2016, 13:10  [ТС]     Заголовки TabView в одну строку #7
Цитата Сообщение от Паблито Посмотреть сообщение
app:tabMode="scrollable"
Помогло, спасибо тебе, добрый человек :-) И умный :-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 13:24     Заголовки TabView в одну строку
Еще ссылки по теме:

Текст в одну строку Android
Могу ли я поделить одну активность на две независимых части? Android
Android Вписать текст в одну строку

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Паблито
25.11.2016, 13:24     Заголовки TabView в одну строку
  #8

Не по теме:

по джаве читал немного Блинова и Романчика (не пошла как-то) и Хорстмана по диагонали
тут перечитал наверное все, или почти все https://developer.android.com/guide/index.html
тут вообще все https://material.google.com/

создал наверное штук 10 тестовых проектиков на все случаи жизни и на них проверяю весь код без разбора
есть тема на форуме для меня интересная или вопрос - открыл, набросал код, проверил
лично мне так проще учить, чем книги читать, но кому как

я тут темы проверяю быват пока проект собирается и стартует

я не шибко умный в плане паттернов программирования и прочей теории, мне больше писать нравится
берешь какой-то класс, ставишь точку и смотришь что автокомплит предлагает из методов - ctrl+q и вперед по всем читать, думать как это можно применить

Yandex
Объявления
25.11.2016, 13:24     Заголовки TabView в одну строку
Ответ Создать тему
Опции темы

Текущее время: 12:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru