我有一个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);
它不起作用,正如您在结果
中看到的那样。
答案 0 :(得分:0)
要实现此目标,请尝试使用getResources()方法。您可以尝试这样
tabLayout.setBackground(getResources.getDrawable(R.drawable.onboarding_tab_selector_light));
和
tabLayout.setSelectedTabIndicatorColor(getResources.getDrawable(R.drawable.onboarding_tab_selector_light));