Android 如何为PagerTitleStrip设置两种不同的文本颜色?
我正在使用一个内置的ViewPagerAndroid 如何为PagerTitleStrip设置两种不同的文本颜色?,android,android-layout,android-viewpager,viewpagerindicator,Android,Android Layout,Android Viewpager,Viewpagerindicator,我正在使用一个内置的ViewPager <android.support.v4.view.ViewPager android:id="@id/pager" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.PagerTitleStrip android:id="@id/pa
<android.support.v4.view.ViewPager
android:id="@id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v4.view.PagerTitleStrip
android:id="@id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/PagerTitleStrip"
/>
</android.support.v4.view.ViewPager>
以下是应用于PagerTitleStrip的样式
<style name="PagerTitleStrip">
<item name="android:textColor">@color/red</item>
<item name="android:background">@android:color/white</item>
<item name="android:textSize">20sp</item>
</style>
@颜色/红色
@android:彩色/白色
20便士
请注意,此视图组的属性集中只有一个textColor字段
我想设置两种不同的颜色(红色和灰色),一种用于可见页面的标题(主标题),另一种用于不可见的页面(边缘部分可见的非主标题)
此外,在页面更改期间,条形图标题应在转换期间更改颜色
根据doc,允许您为非主要标题定义alpha值,而不是这样,我想要不同的文本颜色,有人能帮我吗?您可以通过xml来完成,您唯一需要做的就是编写颜色状态列表: 寻呼机选项卡带文本选择器.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/background_black_3" android:state_window_focused="false" />
<item android:color="@color/highlight_gold" android:state_window_focused="true" />
</selector>
将颜色状态列表放入样式中:
<style name="PagerTabStrip">
<item name="android:textColor">@color/pager_tab_strip_text_selector</item>
</style>
@颜色/寻呼机选项卡条文本选择器
唯一需要做的是,不要将其设置为样式,而是将其设置为文本外观,如下所示:
<android.support.v4.view.ViewPager
android:id="@+id/fragment_light_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/fragment_light_pagertabstrip"
android:textAppearance="@style/PagerTabStrip.Light"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" />
</android.support.v4.view.ViewPager>
我不确定,但您可以尝试通过选择器设置文本颜色。你可以试着说出哪些对你有用。祝你好运,这根本不可能。如果你想做这样的事情,你必须自己编写PagerTitleStrip的实现。@hbansal你找到解决方案了吗?请让我知道。这是专为文字编写的。不适用于条形指示器或图标。
<android.support.v4.view.ViewPager
android:id="@+id/fragment_light_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/fragment_light_pagertabstrip"
android:textAppearance="@style/PagerTabStrip.Light"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" />
</android.support.v4.view.ViewPager>