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

Posted

技术标签:

【中文标题】在具有多行标题的选项卡上设置片段【英文标题】:Set Fragment on Tab with multi line title 【发布时间】:2018-04-25 18:05:35 【问题描述】:

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

我有两个问题:

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

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

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

【问题讨论】:

【参考方案1】:

尝试使用以下代码设置您的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);

【讨论】:

【参考方案2】:

在标签标题中显示“...”不会带来良好的 UI 体验我建议您应该将标签模式设置为可滚动并让标签标题占用他们想要的尽可能多的空间。

<android.support.design.widget.TabLayout
                android:id="@+id/htab_tabs"
                android:layout_
                android:layout_
                android:layout_gravity="bottom"
                app:tabIndicatorColor="@android:color/white"
                app:tabMode="scrollable" />

【讨论】:

android:layout_ 将高度设置为 actionBarSize 删除了所有不需要的空格。谢谢 它是action-bar的高度如果你没有得到那么你也可以像56.0dip一样手动定义 否则你用 android:layout_ 替换 android:layout_ 这个

以上是关于在具有多行标题的选项卡上设置片段的主要内容,如果未能解决你的问题,请参考以下文章

相同的片段与不同选项卡上的列表视图

如何设置 ActionBar 样式,选定选项卡上的选项卡背景

选项卡上的 SupportMapFragment。我只能看到一次

QTabWidget 在选项卡上设置掩码(不是选项卡内容)

如何使用 ViewPager 在 TabLayout 的选项卡上设置页面标题

Actionscript - 如何在 TabNavigator 的选项卡上设置单击处理程序?