在具有多行标题的选项卡上设置片段

Set Fragment on Tab with multi line title

我正在处理在选项卡上设置的两个片段。

我有两个问题:

  1. 我想将片段的标题设置为多行而不是“...”

这是添加片段并设置其标题的代码

ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new OneFragment(), "Current\nSubscription");
  1. 我想从选项卡上的图标和文本周围删除多余的 space 以使其更紧凑并节省一些 space。

尝试使用以下代码设置您的 TabLayout 标题

TextView tabOne = new TextView(this);
tabOne.setText("Current"+ System.getProperty("line.separator") +"Subscription");
tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_favourite, 0, 0);
tabLayout.getTabAt(0).setCustomView(tabOne);

在选项卡标题中显示“...”不会带来良好的 UI 体验我建议您应该将选项卡模式设置为可滚动,并让选项卡标题随心所欲 space。

<android.support.design.widget.TabLayout
                android:id="@+id/htab_tabs"
                android:layout_width="wrap_content"
                android:layout_height="?attr/actionBarSize"
                android:layout_gravity="bottom"
                app:tabIndicatorColor="@android:color/white"
                app:tabMode="scrollable" />