更改Android操作选项卡样式

时间:2014-10-21 15:21:08

标签: android android-tabs

我有两个带有ViewPager的Tabs,带有两个片段 - FirstFragment和SecondFragment。我想改变Tabs的颜色和TabIndicator的颜色。要使用此代码创建标签:

public class MainActivity extends FragmentActivity implements TabListener {

    ViewPager viewPager;
    ActionBar actionBar;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_main);

        viewPager = (ViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
        viewPager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int i) {
                actionBar.setSelectedNavigationItem(i);
            }

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

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {

            }
        });

        actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        actionBar.addTab(actionBar.newTab().setText("FIRST").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("SECOND").setTabListener(this));
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {

    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {

    }

    private class MyAdapter extends FragmentPagerAdapter {

        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int pos) {

            Fragment fragment = null;

            switch (pos) {
            case 0:
                fragment = new FirstFragment();
                break;

            case 1:
                fragment = new SecondFragment();
                break;
            }

            return fragment;
        }

        @Override
        public int getCount() { return 2; }
    }

}

我在论坛上搜索过,有人建议使用此Style Generator 我创建自己的风格,下载并放入我的res文件夹,但没有任何反应。可能我错过了什么。我怎样才能使用我的风格......?

1 个答案:

答案 0 :(得分:0)

将自定义主题应用于您的应用程序。

谢谢,