簡體   English   中英

更改ViewPager指示器顏色

[英]Change ViewPager Indicator color

我正在嘗試更改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指示器(nexus-5啟動器樣式),並具有可更改圓形顏色的自定義屬性

https://github.com/bigsolom/AndroidViewPagerIndicator

從ViewPagerIndicator文檔的以下鏈接中獲取:

AndroidViewPagerIndicator

您可以設置以下內容:將自定義視圖添加到視圖分頁器下方,可用屬性為:radius指定圓的半徑,而color指定圓的顏色

<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" />
PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setTabIndicatorColor(Color.RED);

將此行寫在您的Java類indicator.setFillColor(Color.RED);

您正在使用哪個ViewPager? 從支持庫還是從哪個Android版本開始?

如果是android.support.v4.view.ViewPager,則應僅添加一行代碼:

    viewPager.getChildAt(0).setBackgroundResource(R.color.blue);

並在res / values / color.xml文件中定義藍色(或您選擇的任何其他顏色):

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

這應該有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM