如何设置TabLayout圆圈指示器的tabBackground

时间:2018-12-13 21:12:11

标签: android android-tablayout

我有一个Tablayout作为入门指标。我想设置入职背景从暗到亮时指示灯的颜色:

<android.support.design.widget.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="30dp"
    app:tabGravity="center"
    android:layout_alignParentBottom="true"
    app:tabBackground="@drawable/onboarding_tab_selector"
    app:tabIndicatorHeight="0dp"
    />

这是背景:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/onboarding_selected_tab"
        android:state_selected="true"/>
    <item android:drawable="@drawable/onboarding_default_tab"/>
</selector>

我创建了一个新的浅色背景:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/onboarding_selected_tab_light"
        android:state_selected="true"/>
    <item android:drawable="@drawable/onboarding_default_tab_light"/>
</selector>

黑屏

光屏

我尝试过:

tabLayout.setBackground(getDrawable(R.drawable.onboarding_tab_selector_light));

并且:

tabLayout.setSelectedTabIndicatorColor(R.drawable.onboarding_tab_selector_light);

它不起作用,正如您在结果

中看到的那样

1 个答案:

答案 0 :(得分:0)

要实现此目标,请尝试使用getResources()方法。您可以尝试这样

tabLayout.setBackground(getResources.getDrawable(R.drawable.onboarding_tab_selector_light));    

tabLayout.setSelectedTabIndicatorColor(getResources.getDrawable(R.drawable.onboarding_tab_selector_light));