Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何为PagerTitleStrip设置两种不同的文本颜色?_Android_Android Layout_Android Viewpager_Viewpagerindicator - Fatal编程技术网

Android 如何为PagerTitleStrip设置两种不同的文本颜色?

Android 如何为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

我正在使用一个内置的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/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>