滑动其他选项卡时 TabLayout 图标隐藏

TabLayout icon is hiding when swipe the other tab

我正在将 TabLayout 与 ViewPager 结合使用。我知道,ViewPager 会覆盖选项卡图标。所以我给他们的图标加上 Java 代码。但是当我滑动其他页面时,选项卡图标隐藏或移动到某处。你们有解决这个问题的想法吗?

所以有图像:

这是我的代码:

CreateGame.java

tabLayout = (TabLayout) view.findViewById(R.id.tabs);
    viewPager= (ViewPager) view.findViewById(R.id.viewPager);
    viewPager.setAdapter(new ViewPagerAdapter(getChildFragmentManager()));
    tabLayout.setupWithViewPager(viewPager,true);
    tabLayout.getTabAt(0).setIcon(R.drawable.ic_loc_white);
    tabLayout.getTabAt(1).setIcon(R.drawable.ic_court_black); //viewPager ikonları eziyor. İkonları tekrar ver.
    recyclerView = (RecyclerView) view.findViewById(R.id.courtList);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
    courtInfoAdapter = new CourtInfoAdapter(getContext(), CreateGame.this,courtInfos);
    recyclerView.setItemAnimator(new DefaultItemAnimator());



    btn_continue.setOnClickListener(new View.OnClickListener() {


    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab)
        {
            if(tab.getPosition()==0)
            {
                int height = (int) getResources().getDimension(R.dimen.lnr_main_height);
                recyclerView.setAdapter(null);
                deleteCourtInfos();
                upLayout.setVisibility(View.VISIBLE);
                cardViewLayout.setVisibility(View.GONE);
                RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mainLayout.getLayoutParams();
                params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,1);
                params.setMargins(0,0,0,287);
                params.height=height;
                mainLayout.setLayoutParams(params);
            }

            if(tab.getPosition()==1)
            {

                int height = (int) getResources().getDimension(R.dimen.lnr_main_height_change);
                recyclerView.setAdapter(courtInfoAdapter);
                fetchCourtInfos();
                upLayout.setVisibility(View.GONE);
                cardViewLayout.setVisibility(View.VISIBLE);
                RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(mainLayout.getLayoutParams());
                params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,0);
                params.setMargins(0,10,0,0);
                params.addRule(RelativeLayout.CENTER_HORIZONTAL,1);
                params.height=height;
                mainLayout.setLayoutParams(params);

            }
        }

creategame.xml

<android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dp"
                app:tabBackground="@drawable/selector_for_tab">

                <android.support.design.widget.TabItem
                    android:id="@+id/tab_loc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:icon="@drawable/ic_loc_white" />

                <android.support.design.widget.TabItem
                    android:id="@+id/tab_area"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:icon="@drawable/ic_court_black" />

            </android.support.design.widget.TabLayout>
        </android.support.v4.view.ViewPager>

我已经使用选择器解决了这个问题。

对于选项卡 0:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_loc_white" android:state_selected="true"/>
<item android:drawable="@drawable/ic_location_with_border"/> <!-- default -->

对于选项卡 1:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_court_white" android:state_selected="true"/>
<item android:drawable="@drawable/ic_court_black"/> <!-- default -->