9

是否可以更改v4 ViewPager上选定选项卡的颜色?
我需要使用 v4 ViewPager,但我没有找到任何自定义它的来源。
只是为了澄清我需要将蓝色更改为另一种颜色:

选项卡选择器

4

4 回答 4

11

这是标签指示器。您可以通过应用不同的样式来更改其颜色。

使用Action Bar Style Generator,生成 9patch png 文件(tab_selected、tab_selected_focused 等)并将这些文件 + 样式添加到您的项目中。

另一种方法->如何在 Android ViewPager 中更改当前选项卡荧光笔颜色?(正如@Pratik 在评论中所写)。

于 2013-08-06T10:28:24.210 回答
3

我没有足够的声誉来评论答案,但是关于操作栏样式生成器,请确保在将文件添加到项目中的相应文件夹后,还将主题添加到清单 xml 文件中,如下所示:

<activity
    android:name="com.whatever.myapplication.YourActivityName"
    android:theme="@style/Theme.Whatever_you_named_your_style_in_the_generator">
</activity>
于 2014-08-08T16:06:04.780 回答
2

ViewPager不是您需要自定义的。您需要在布局中设置与之链接的tabIndicatorColorTabLayout

动态地你可以做

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout_id);
tabLayout.setupWithViewPager(viewPager);
tabLayout.setSelectedTabIndicatorColor(R.color.your_color); // here

在 XML 内部,这将像下面这样简单

<android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorColor="@color/your_color" />
于 2016-10-13T05:51:43.697 回答
0

同样,我找不到自定义选项卡的方法。所以我用它修复了它

<View
        android:layout_height="2dp"
        android:id="@+id/line1"
         android:layout_width="fill_parent"
        android:layout_below="@+id/headertab1"
       android:layout_above="@+id/viewpager"
        android:background="#0066CC" />

我已将此代码与 viewPager 上方的选项卡和每个 3 个选项卡一起放置。因为我们可以很容易地检测到选择了哪个选项卡。所以我们可以使用这个 'line1' 对 View.VISIBLE 或 View.INVISIBLE 的可见性。

希望对你有帮助!!

于 2013-08-06T10:28:35.257 回答