2017-10-21 7 views
-2

Here the vector of what i'm trying to doLogo Centre entre deux onglets

Il y aura 2 onglets et un imageview ou quelque chose entre ces deux onglets, et le logo doit être cliquables. J'ai essayé presque toutes les approches, mais j'ai échoué.

Toute personne qui sait comment le faire?

code:

 TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs2); 
     tabLayout.setupWithViewPager(mViewPager); 
     tabLayout.getTabAt(1).setIcon(R.drawable.logo); 



    } 

    public class SectionsPagerAdapter extends FragmentPagerAdapter { 

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

     @Override 
     public Fragment getItem(int position) { 

      switch (position) { 
       case 0: 

        return new LeaderBoard(); 

       case 1: 

        return new Logo(); 

       case 2: 

        return new Recent_Post(); 

       default: 

        return null; 
      } 

     } 

     @Override 
     public int getCount() { 
      // Show 3 total pages. 
      return 3; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      switch (position) { 
       case 0: 
        return "LeaderBoard"; 
       case 1: 
        return ""; 
       case 2: 
        return "Recent Posts"; 
      } 
      return null; 
     } 
    } 
+1

Afficher votre code afin que nous puissions voir par où commencer? Jusqu'où avez-vous atteint – Xenolion

+0

Je ne peux pas partager le code parce que c'est trop de lignes mais je peux partager le concept. J'ai ajouté un autre onglet et il y a maintenant 3 onglets, donc l'onglet du milieu ne comporte que le logo et non le titre, mais le problème est qu'il crée une autre vue que je ne veux pas. –

+1

Votre question est facile à faire. Alors comme je peux répondre par code. (C'est ce que nous faisons dans StackOverflow) sinon il sera downvoted et supprimé. Vous devez montrer combien vous avez essayé afin que nous puissions vous montrer quoi modifier. Coller au moins 'tablayout' si vous l'utilisez – Xenolion

Répondre

1

J'ai résolu mon problème en changeant les onglets entre l'autre, certains calculs.

int currentScreen = 0; 

mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
      @Override 
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 
      } 

      @Override 
      public void onPageSelected(int position) { 
       if (position == 1) { 
        if(currentScreen == 0) { 
         mViewPager.setCurrentItem(2); 
         currentScreen = 2; 
        }else{ 
         mViewPager.setCurrentItem(0); 
         currentScreen = 0; 
        } 
       } 
      } 

      @Override 
      public void onPageScrollStateChanged(int state) { 
      } 
     }); 
+0

Félicitations pour avoir résolu votre propre problème! Laissez-moi vous donner votre premier upvote! – Xenolion