2016-10-26 2 views
0

Wie wird das Symbol für die gesamte Tab-Taste gesetzt?Wie wird das Symbol für die gesamte Tab-Taste gesetzt?

enter image description here

Dieser Code ist Download aus dem Internet und der Text auf die Registerkarte Zeit leider nicht da sein müssen. .... Ich entschuldige mich für die perfekte englische Übersetzung. Das Bild spricht für sich

public class MainActivity extends AppCompatActivity { 
private Toolbar toolbar; 
private TabLayout tabLayout; 
private ViewPager viewPager; 
private int[] tabIcons = { 
     R.drawable.likepress, 
     R.drawable.kufrpress, 
     R.drawable.referralpress, 
     R.drawable.changepress 
}; 

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

    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    setupViewPager(viewPager); 

    tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(viewPager); 
    setupTabIcons(); 
} 

private void setupTabIcons() { 
    tabLayout.getTabAt(0).setIcon(tabIcons[0]); 
    tabLayout.getTabAt(1).setIcon(tabIcons[1]); 
    tabLayout.getTabAt(2).setIcon(tabIcons[2]); 
    tabLayout.getTabAt(3).setIcon(tabIcons[3]); 
} 

private void setupViewPager(ViewPager viewPager) { 
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFrag(new OneFragment(), "ONE"); 
    adapter.addFrag(new TwoFragment(), "TWO"); 
    adapter.addFrag(new ThreeFragment(), "THREE"); 
    adapter.addFrag(new ThreeFragment(), "For"); 
    viewPager.setAdapter(adapter); 
} 

class ViewPagerAdapter extends FragmentPagerAdapter { 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    public void addFrag(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return null; 
    } 
} 
} 
+0

Wenn Sie wollen, dass es den gesamten Bereich einnehmen - müssen Sie möglicherweise Ihre eigenen benutzerdefinierten XML-Element/Java-Klasse erstellen. Oder Sie könnten in das native Element eintauchen und versuchen, die Bildansicht zu vergrößern, Abstand und Rand zu entfernen. Nur ein paar Gedanken ... – apelsoczi

+0

Hallo. Ich bin wirklich ein Anfänger, also ist Tabwidget für mich am einfachsten. Bitte passen Sie meinen Code an, um ein benutzerdefiniertes XML-Element/eine Java-Klasse hinzuzufügen. –

Antwort

0

Sie tabLayout.getTabAt(i)setCustomView(view) verwenden können, für jeden Reiter eine benutzerdefinierte Ansicht zu platzieren. Zum Beispiel kann es eine ImageView mit Ihrem Symbol sein

Verwandte Themen