Android 一个全宽的选项卡 TabLayout 一开始不起作用

Android one tab TabLayout with full width not working at first

我正在尝试在 TabLayout 中仅添加一个带有全角指示器的选项卡。但是使用 google TabLayout 我得到了这个结果

之后我确实使用了与 https://github.com/astuetz/PagerSlidingTabStrip 相同的代码 我得到了正确的结果

有没有人遇到过同样的问题?以及如何解决这个问题?

我确实使用了简单的代码只是 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";
    }

}

the activity contain just

    @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);
    //        swipeTabLayout.setViewPager(swipePager);
        }

我遇到了完全相同的问题,并设法通过将 tabMaxWidth 属性设置为高值(例如 500dp)而不是某些答案中建议的 0dp 来解决它。

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMaxWidth="500dp" />