选项卡内指标高度顶部的阴影

时间:2017-11-30 06:42:46

标签: android tabs shadow

我无法在标签内的指示器高度上方显示指示器的阴影。我正在使用karim库作为材质选项卡,我在其中应用高程,但这没有帮助。如何在选项卡中实现阴影?

布局

 <io.karim.MaterialTabs
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:background="@android:color/transparent"
        android:textColor="@color/white"
        app:mtIndicatorColor="@color/colorPrimaryRed"
        app:mtIndicatorHeight="3dp"
        app:mtPaddingMiddle="false"
        app:mtSameWeightTabs="true"
        app:mtTabPaddingLeftRight="10dp" />

测试绘图

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

    <item>
        <layer-list>
            <item android:left="-11dp" android:right="-11dp" android:top="-11dp">
                <shape>

                    <stroke android:width="10dp" android:color="@color/colorPrimaryRed" />

                    <gradient android:angle="90" android:endColor="#00fafafa" android:startColor="#88d66f67" android:type="linear" />

                    <corners android:radius="2dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape>
            </item>
        </layer-list>
    </item>

</selector>

的java

class StarterMenuAdapter extends FragmentPagerAdapter {
    public StarterMenuAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        if (position == 1) {
            LoginFragment loginFragment = new LoginFragment();
            return loginFragment;
        } else {
            RegisterFragment registerFragment = new RegisterFragment();
            return registerFragment;
        }
    }


    @Override
    public CharSequence getPageTitle(int position) {
        return CONTENT[position % CONTENT.length].toUpperCase();
    }

    @Override
    public int getCount() {
        return CONTENT.length;
    }
}

想要实现 enter image description here

我得到了什么 enter image description here

  

如何实现标签内的阴影?

1 个答案:

答案 0 :(得分:0)

它与你想要的相似,

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

    <item>
        <layer-list>
            <item android:left="-8dp" android:right="-8dp" android:top="-8dp">
                <shape>

                    <stroke android:width="7dp" android:color="@color/red" />

                    <gradient android:angle="90" android:endColor="#00fafafa" android:startColor="#88d66f67" android:type="linear" />

                    <corners android:radius="2dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape>
            </item>
        </layer-list>
    </item>

</selector>

输出

enter image description here