带圆角的自定义 TabLayout

Tol*_*lar 3 android

我想创建一个这样的tablayout:

在此处输入图片说明

如您所见,我为选项卡布局背景设置了圆角。我尝试了以下代码:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:layout_scrollFlags="scroll|enterAlways"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

<android.support.design.widget.TabLayout
    android:id="@+id/tabs2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorColor="#CECECF"
    app:tabBackground="@drawable/tab_bar_bg"
    app:tabMode="fixed"
    app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明

有没有办法用 tablayout 实现这个圆角?如果答案是肯定的,那么我的路线图是什么?

Ps:不要介意屏幕截图上的图标或图标颜色。

Paw*_*han 5

将此文件添加到您的可绘制目录,并将其添加为自定义选项卡布局中的背景。

形状文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners
        android:bottomLeftRadius="16dp"
        android:bottomRightRadius="16dp"
        android:radius="32dp"
        android:topLeftRadius="16dp"
        android:topRightRadius="16dp" />

    <solid android:color="@color/tab_color" />

    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />

    <size
        android:height="32dp" />


</shape>
Run Code Online (Sandbox Code Playgroud)