I am trying to add only one tab to a TabLayout with a full width indicator. but with google TabLayout I get this result

after that I used the same code from https://github.com/astuetz/PagerSlidingTabStrip
and I got the correct result

Has anyone encountered the same problem before? and how to solve it?
I used simple code, just keeps activity
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/swipeAppBarLayout"
>
<android.support.design.widget.TabLayout
android:id="@+id/swipeTabLayout"
android:layout_width="match_parent"
app:tabMaxWidth="0dp"
android:layout_height="30dp"
app:tabIndicatorHeight="4dp"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipePager"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
and the adapter
public class StreamNavigationPagerAdapter extends FragmentStatePagerAdapter {
private Context mContext;
public StreamNavigationPagerAdapter(FragmentManager fm, Context con) {
super(fm);
mContext = con;
}
@Override
public Fragment getItem(int position) {
return getNewsFragment();
}
private Fragment getNewsFragment() {
Fragment fragment = new StreamNewsFragment();
return fragment;
}
@Override
public int getCount() {
return 1;
}
@Override
public CharSequence getPageTitle(int position) {
return "NEWS";
}
}
activity contains only
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
swipePager.setAdapter(new StreamNavigationPagerAdapter(getSupportFragmentManager(), this));
swipeTabLayout.setupWithViewPager(swipePager);
}
source
share