如何在TabLayout中增加选项卡文本大小?

时间:2016-06-28 06:19:23

标签: android tabs

我有PodCastTab ....我想完全显示TabName ??? 我不是在问TabHost吗? TabHost和TabLayout是不同的...... 这是标签的ScreenShot

一旦看到我的代码:

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Initializing the tablayout
    tabLayout = (TabLayout) findViewById(R.id.tabLayout);
    //Adding the tabs using addTab() method
    tabLayout.addTab(tabLayout.newTab().setText("Home").setIcon(R.drawable.home_selector));

    tabLayout.addTab(tabLayout.newTab().setText("News").setIcon(R.drawable.news_selector));
    tabLayout.addTab(tabLayout.newTab().setText("Videos").setIcon(R.drawable.video_selector));
    tabLayout.addTab(tabLayout.newTab().setText("PodCasts").setIcon(R.drawable.podcast_selector));
    tabLayout.addTab(tabLayout.newTab().setText("More").setIcon(R.drawable.more_selector));
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    //tabLayout.setupWithViewPager(viewPager);

    //Initializing viewPager
    viewPager = (ViewPager) findViewById(R.id.pager);

    //Creating our pager adapter
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());

    //Adding adapter to pager
    viewPager.setAdapter(adapter);

    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

    tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager) {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {

            if (tab.getPosition() == 0) {
                bottombar.show();
            } else if (tab.getPosition() == 1) {
                bottombar.hide();
            } else if (tab.getPosition() == 2) {
                bottombar.hide();
            } else if (tab.getPosition() == 3) {
                bottombar.hide();
            }
            super.onTabSelected(tab);
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
            super.onTabUnselected(tab);

        }
    });
}

这是Xml文件

<LinearLayout
android:id="@+id/main_layout"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.MainActivity">


<!-- our tablayout to display tabs  -->

<android.support.design.widget.TabLayout
    android:id="@+id/tabLayout"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:tabBackground="@drawable/shape"
    android:textAlignment="center"
    app:tabTextColor="#838587"
    app:tabSelectedTextColor="#fafafa"
    app:tabIndicatorColor="#fffeff"
    app:tabIndicatorHeight="2dp"
    app:tabMode="fixed"
    app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
    android:fitsSystemWindows="true"
    app:tabMaxWidth="250dp"
    android:minWidth="150sp"
    app:tabGravity="fill">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"/>

enter image description here 如何显示完整的Tab Text ??

1 个答案:

答案 0 :(得分:0)

您可以通过TabLayout

执行此操作

首先,如果不存在,请使用

对标签进行充气
RelativeLayout tab = (RelativeLayout) LayoutInflater
                .from(MainActivity.this)
                .inflate(R.layout.tab_layout, null, false);

然后创建一个新选项卡并使用

设置自定义视图
tab_layout.newTab().setCustomView(tab);

请注意,如果您已经有一个标签(假设您正在使用ViewPager),则可以通过调用

来获取特定索引处的标签,而不是创建新标签
tab_layout.getTabAt(0).setCustomView(tab);