Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
Java 更改ViewPager指示器颜色_Java_Android_Eclipse_Android Viewpager - Fatal编程技术网

Java 更改ViewPager指示器颜色

Java 更改ViewPager指示器颜色,java,android,eclipse,android-viewpager,Java,Android,Eclipse,Android Viewpager,我正在尝试更改ViewPager指示器的颜色。我已经读到它使用了一个九补丁,但我不知道在哪里可以找到它。下面是我创建ViewPager的相关Java代码 /** * On swiping the ViewPager make respective tab selected **/ private void initializeViewPagerListener() { viewPager.setOnPageChangeListener(new ViewPager.OnPageChan

我正在尝试更改ViewPager指示器的颜色。我已经读到它使用了一个九补丁,但我不知道在哪里可以找到它。下面是我创建ViewPager的相关Java代码

/**
 * On swiping the ViewPager make respective tab selected
 **/
private void initializeViewPagerListener() {
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });
}

/**
 * Creates the tab portion of the ViewPager
 */
private void initializeTabs() {
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);


    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }

}

您使用的是哪种ViewPager?从支持库还是从哪个Android版本

如果是android.support.v4.view.ViewPager,则只应添加一行代码:

    viewPager.getChildAt(0).setBackgroundResource(R.color.blue);
并在res/values/color.xml文件中定义蓝色(或您选择的任何其他颜色):

    <color name="blue">#015599</color>
#015599

这应该会有所帮助。

我已经创建了一个自定义的ViewPager指示器(nexus-5启动器样式),具有可用于更改圆圈颜色的自定义属性


从以下链接的ViewPagerIndicator文档:

您可以设置: 在视图页面下方添加自定义视图,可用属性有:指定圆半径的半径和指定圆颜色的颜色

<com.efoad.views.ViewPagerIndicator
android:id="@+id/viewpager_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:padding="5dp"
custom:radius="3dp"
custom:color="@android:color/darker_gray" />

在java类上写这行代码


指示器。setFillColor(颜色。红色)

这可能是正确答案,也可能不是正确答案,但您需要添加解释,而不仅仅是发布好的。看见
PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setTabIndicatorColor(Color.RED);