【问题标题】:Shadow on the top of Indicator height within the tab选项卡内指示器高度顶部的阴影
【发布时间】:2017-11-30 06:42:45
【问题描述】:

我无法在选项卡内的指标高度上方显示指标的阴影。我正在将 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;
    }
}

想要实现

我得到了什么

如何实现标签内的阴影?

【问题讨论】:

  • 试试 android:elevation="-20dp"
  • @AkshayKatariya 这对akshay没有帮助

标签: android tabs shadow


【解决方案1】:

如你所愿,

<?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>

输出

【讨论】:

  • 制作可绘制并将此代码放入其中......并将可绘制设置为所选标签的背景
  • 我很困惑在哪里做。我已经更新了我的解决方案,检查
  • 但是你在哪里使用过test drawable??
  • 你能添加drawable而不是“app:mtIndicatorColor”吗?有房产吗??
  • 然后删除“app:mtIndicatorColor”并添加属性来设置drawable。您选择的标签将作为我编辑的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
相关资源
最近更新 更多