我试图在tablayout的自定义文本视图中找出一些荒谬的东西。当我启动应用程序时,第一个选项卡的文本视图是默认颜色,但是当我浏览其他选项卡并返回第一个选项卡时,它可以正常工作。这是代码。
selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="#FFFFFF"/> <!-- selected -->
<item android:color="@color/red_highlight"/> <!-- default -->
</selector>
MainActivity.java
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
tabLayout.getTabAt(0).setCustomView(R.layout.tab_custom_view);
tabLayout.getTabAt(1).setCustomView(R.layout.tab_custom_view);
tabLayout.getTabAt(2).setCustomView(R.layout.tab_custom_view);
tab_custom_view.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tab_tittle"
android:text="Tab1"
android:textStyle="bold"
android:textColor="@color/selector"/>
启动应用时,第一个标签是默认颜色。单击其他选项卡并返回到第一个选项卡后,它将处于选定的颜色。但是应该如何,当我启动应用程序时,第一个选项卡被选中并且应该是选定的颜色。
答案 0 :(得分:8)
&#34; state_selected&#34;当使用键盘/ dpad /轨迹球/等选择项目时使用。因此,当您启动应用程序时,它不会被选中,当您选择选项卡时,它会被选中。