【问题标题】:SlidingTabLayout text & background color customization滑动标签布局文本和背景颜色自定义
【发布时间】:2016-05-08 08:09:59
【问题描述】:

首先,当我选择一个选项卡时,它只会在我按下它时改变它的颜色,但是在选择选项卡后颜色保持为未选中状态的颜色。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@color/white" />
    <item android:state_focused="true" android:color="@color/white" />
    <item android:state_pressed="true" android:color="@color/white" />
    <item android:color="@color/black" />
</selector>

populateTabStrip() 方法:

tabTitleView.setTextColor(getResources().getColorStateList(R.color.tab_text_color_selector));

其次,选项卡的背景..我不知道如何在这里使用选择器。

** getColorStateList 已弃用,因此欢迎提出任何替换它的建议。

【问题讨论】:

    标签: android tabs selector


    【解决方案1】:

    也请尝试一下

    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @覆盖 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

                }
    
                @Override
                public void onPageSelected(int position) {
    
                    switch (position){
                        case 0:
                            tabLayout.setTabTextColors(ColorStateList.valueOf(Color.CYAN));
                            break;
                        case 1:
                            tabLayout.setTabTextColors(ColorStateList.valueOf(Color.GREEN));
                            break;
                        case 2:
                            tabLayout.setTabTextColors(ColorStateList.valueOf(Color.YELLOW));
                            break;
    
                    }
    
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
    
                }
            });
    

    【讨论】:

    • 如果我这样做,一旦我选择另一个选项卡,最后选择的选项卡的背景就会保持不变。例如,一切都是白色的。我选择选项卡 A,例如它变成青色,然后我选择选项卡 B,选项卡 A 保持青色
    • SlidingTabLayout里面的tabLayout变量是什么?
    • 当你创建 tabLayout 并且你想改变文本颜色时不需要slidingTabLayout,只需要我写给你的代码
    • 希望对你有帮助
    • 对不起,我不明白你的意思。我用的是SlidingTabLayout,这个TabLayout是哪里来的?
    【解决方案2】:

    请试试这个

    tabLayout.setTabTextColors(ColorStateList.valueOf(Color.WHITE));

    【讨论】:

      猜你喜欢
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2018-12-25
      • 1970-01-01
      相关资源
      最近更新 更多