Autore Topic: [Cambiare colore indicatore tab]  (Letto 213 volte)

Offline Rick91

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Android 4.4.2
[Cambiare colore indicatore tab]
« il: 17 Gennaio 2015, 18:25:45 CET »
0
Salve a tutti ragazzi, sono nuovo del forum e del mondo android, quindi mi scuso anticipatamente se la domanda che sto per fare non è inerente alla sezione o se l'argomento è stato già trattato.
Detto questo il problema è il seguente:

Ho implementato 3 tab con uno swipe e un semplice tap sulla tab stessa. Tuttavia vorrei modificare il colore di default (celeste) dell'indicatore della tab corrente con un colore a mia scelta. Mi sapreste aiutare ?
Allego il codice scritto, se può essere d'aiuto.

Activity:
Codice (Java): [Seleziona]
public class TabActivity extends FragmentActivity implements ActionBar.TabListener {

    private CollectionPagerAdapter collectionPagerAdapter;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab);

        collectionPagerAdapter = new CollectionPagerAdapter(getSupportFragmentManager());

        final ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        viewPager = (ViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(collectionPagerAdapter);
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i2) {

            }

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

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

        actionBar.addTab(actionBar.newTab().setText("Tab 1").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("Tab 2").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("Tab 3").setTabListener(this));

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.tab, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

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

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

    }

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

    }
}


activity_tab.xml
Codice (XML): [Seleziona]
<android.support.v4.view.ViewPager
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/pager"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">
</android.support.v4.view.ViewPager>


Grazie anticipatamente per l'aiuto.