in einer Android-App, verwende ich eine TabLayout
, um mehrere Fragments
in einer einzigen Aktivität anzuzeigen. Ich möchte die Registerkarten mit Symbolen und einer zweizeiligen Überschrift beschriftet werden.Multiline PageTitle mit android.support.design.widget.TabLayout
Im onCreate Aktivitäten initialisiere ich die SectionsPageAdapter
und die TabLayout
wie:
private SectionsPagerAdapter mSectionsPagerAdapter;
protected void onCreate(Bundle savedInstanceState) {
...
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new
SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
// add a PageChangeListener to be able to detect which tab is activated
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
...
});
...
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
//Set icons for tabs
tabLayout.getTabAt(0).setIcon(R.drawable.ic0);
tabLayout.getTabAt(1).setIcon(R.drawable.ic1);
tabLayout.getTabAt(2).setIcon(R.drawable.ic2);
}
Und in der SectionpagerAdapter
definiere ich die PageTitles mit:
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "First \nTab";
case 1:
return "Second \nTab";
case 2:
return "Third \nTab";
}
return null;
}
Aber wenn ich die App laufen, Die PageTitel sind nicht in zwei Zeilen unterteilt, sondern mit ... auf den Bildschirm gekürzt.
So aktivieren Sie Multiline PageTitel für die Tabs?