Ich benutze TabLayout
und ViewPager
, um Registerkarten zu erstellen, und es funktioniert zu haben. Aus irgendeinem Grund werden die Titel der Registerkarten nicht angezeigt.Wie man Titel hinzufügt?
Das ist seltsam, weil jeder Registerkarte Text darauf haben sollte ...
Hier ist der Code:
public class MainActivity extends AppCompatActivity {
MyPageAdapter pageAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setBackgroundColor(Color.rgb(45, 237, 192));
tabLayout.addTab(tabLayout.newTab().setText("TITLE ONE"));
tabLayout.addTab(tabLayout.newTab().setText("TITLE TWO"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
List<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(Enable.newInstance());
fragments.add(selector.newInstance());
pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);
final ViewPager pager =
(ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(pageAdapter);
tabLayout.setupWithViewPager(pager);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
pager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
}
, dass die Java von MainActivity ist. Hier ist der XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.curlybrace.ruchir.tabs.MainActivity"
android:windowSoftInputMode="stateVisible|adjustPan|adjustResize">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
</RelativeLayout>
Wieder meine Tabs arbeiten effektiv, aber die Titel von ihnen werden nicht angezeigt.
Versuchen Sie die Hintergrundfarbe von TabLayout zu ändern (zu einer anderen Farbe als? Attr/colorPrimary) ... nur um zu testen ... vielleicht verwendet der Titel auch die Primärfarbe – W0rmH0le