Просто обновил мое приложение до Material Components 1.1.0, и значки в моем TabLayout больше не отображаются. Я следовал руководству на официальном сайте google material.io, предварительный просмотр в Android Studio хорош, но после запуска приложения значки не отображаются.
Вот XML-код:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_gravity="bottom"
style="@style/Widget.MaterialComponents.TabLayout.Colored"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="center">
<com.google.android.material.tabs.TabItem
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:icon="@drawable/ic_home"/>
<com.google.android.material.tabs.TabItem
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:icon="@drawable/ic_fav"/>
<com.google.android.material.tabs.TabItem
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:icon="@drawable/ic_about"/>
</com.google.android.material.tabs.TabLayout>
</androidx.viewpager.widget.ViewPager>
</RelativeLayout>
В моем файле styles.xml я определил colorPrimary и colorOnPrimary, которые используются для тонирования значков и цвета фона TabLayout.
Однако, даже если предварительный просмотр в Android Studio хороший, после запуска приложения фон моего TabLayout отображается правильным цветом, но значки не отображаются.
РЕДАКТИРОВАТЬ:
Просто используйте режим отладки, и значок вкладок будет нулевым для каждого элемента вкладки:
ИЗМЕНИТЬ 2:
Я нашел проблему, но не нашел ее решения! Проблема исходит из этой строки:
tabLayout.setupWithViewPager(viewPager)
После выполнения этой строки все значки в TabLayout сбрасываются до нуля. Отключив эту строку, я получу все свои значки. Однако как я могу настроить ViewPager со значками на моем TabLayout? Если я настрою их вручную, у меня не будет цвета, унаследованного от MDC.
Theme.MaterialComponents.Light.NoActionBar
- person mamenejr   schedule 01.06.2020<color name="colorPrimary">#00838f</color>
&<color name="colorOnPrimary">#ff8f00</color>
Я не знаю, чем это может вам помочь - person mamenejr   schedule 01.06.2020