TabLayout选中后消失图标

问题描述

我正在尝试使用图标文本制作一个tabLayout,但是每当我选择一个选项卡时,该选项卡图标的问题就会消失。 增加了材料设计依赖性。 每当我向左或向右滑动时,选定的标签都会显示白色,但图标会消失。 图标为png格式的黑色。

XML:

<com.google.android.material.tabs.TabItem
        android:id="@+id/Haunted_frag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:icon="@drawable/haunted"
        android:text="@string/haunted" />

    <com.google.android.material.tabs.TabItem
        android:id="@+id/secrete_frag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:icon="@drawable/secretespot"
        android:text="@string/secrete_spots" />
    </com.google.android.material.tabs.TabLayout>
    <androidx.viewpager2.widget.ViewPager2
        android:id="@+id/viewpager2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        /> 

tabLayout的适配器类:

public class PlacesAdapter extends FragmentStateAdapter {
    public PlacesAdapter(@NonNull FragmentActivity fragmentActivity) {
        super(fragmentActivity);
    }

    @NonNull
    @Override
    public Fragment createFragment(int position) {
        switch (position){
            case 0 : return new Hauntedplaces();
            default: return new SecretePlaces();
        }
    }

    @Override
    public int getItemCount() {
        return 2;
    }
}

MainActivity:

ViewPager2 viewPager2 = findViewById(R.id.viewpager2);
        viewPager2.setAdapter(new PlacesAdapter(this));

        final TabLayout tabLayout = findViewById(R.id.tabLayout_haunted_local_places);
        TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(
                tabLayout,viewPager2,new TabLayoutMediator.TabConfigurationStrategy() {
            @Override
            public void onConfigureTab(@NonNull TabLayout.Tab tab,int position) {
                switch (position){
                    case 0: {
                        tab.setText("Haunted");
                        tab.setIcon(R.drawable.haunted);
                        break;
                    }
                    case 1:{
                        tab.setText("Secrete Spots");
                        tab.setIcon(R.drawable.secretespot);
                        break;
                    }
                }
            }
        }
        );
        tabLayoutMediator.attach();

显示内容

Heres the image what it shows:

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)