Попытка создания перелистываемой вкладки с помощью PagerSlidingTabStrip, но заголовок вкладки не появляется, только содержимое макета идет
Привет, я попытался сделать макет вкладки Swipleable. Макет идет, и его можно перелистывать, но заголовок вкладки не появится. В моем коде MainActivity есть:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity_layout);
// Initialization
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new TabsPagerAdapter(getSupportFragmentManager()));
PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabsStrip.setViewPager(viewPager);
tabsStrip.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
Toast.makeText(EditActivity.this, "Selected page position: " + position, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
И мой код TabsPagerAdapter выглядит так:
public class TabsPagerAdapter extends FragmentPagerAdapter {
// Tab titles
private String[] tabs = new String[] {"Profile", "Child"};
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
// User fragment activity
return new UserFragment();
case 1:
// Child fragment activity
return new ChildFragment();
}
return null;
}
@Override
public int getCount() {
return tabs.length;
}
@Override
public CharSequence getPageTitle(int position) {
// Generate title based on item position
return tabs[position];
}
}
И мой mainactivity_layout.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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/activity_no_padding"
android:paddingLeft="@dimen/activity_no_padding"
android:paddingRight="@dimen/activity_no_padding"
android:paddingTop="@dimen/activity_no_padding"
tools:context="com.samvardhan.org.vaccinationinfo.EditActivity">
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
app:pstsShouldExpand="true"
android:layout_width="match_parent"
android:layout_height="48dp"
android:textSize="14sp"
android:textColor="#000000"
app:pstsDividerColor="@color/green"
app:pstsIndicatorColor="@color/red"
app:pstsUnderlineColor="@color/blue"
app:pstsTabPaddingLeftRight="14dp"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</RelativeLayout>
И у меня есть два файла макета XML для моих двух вкладок. Скоро появится содержимое двух вкладок, но не заголовок вкладок.
Только содержание идет из вкладок, но без заголовка. Чего мне не хватает?
2 ответа
Решение
Добавить
android:layout_below="@+id/tabs"
на ваш ViewPager
в xml
,
Вы пытались изменить цвет текста ( android:textColor="#000000") com.astuetz.PagerSlidingTabStrip на другое значение в mainactivity_layout.xml