Intereting Posts
Android 4.0, текст на панели действий НИКОГДА не отображается Вложенное расширяемое listview в android Как увидеть фактические параметры gcc при создании Android из источника? Калькулятор sw600dp не работает на вкладке Galaxy Не удалось запустить startPreview Чтение и запись массивов объектов Parcelable Как получить значения атрибутов темы Отправка полезной нагрузки пар ключ-значение в Google Analytics Когда использовать актеров в libgdx? Каковы минусы и плюсы? ExpandableListView -UnsupportedOperationException: addView (View, LayoutParams) не поддерживается в AdapterView Как получить растровое изображение с URL-адресом в андроиде? Как исключить специальные символы из клавиатуры Android для EditText Фрагмент внутри ViewPager, возвращающий null в getView () Расшифровка AES на Android слишком медленная, чтобы ее можно было использовать. Будет ли NDK быстрее? Другие идеи? Прозрачная строка состояния и панель инструментов

Не удалось увидеть вкладку Tab в библиотеке поддержки дизайна TabLayout

Я использую библиотеку материалов и создаю макет с использованием CoordinatorLayout , AppBarLayout, RecyclerView и TabLayout .

Моя проблема в том, что я не могу увидеть индикатор Tab в Tablayout Ниже приводится мой xml-файл, который я использую в AppCompactActivity .

 <android.support.design.widget.CoordinatorLayout android:id="@+id/coodinate_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/btn_next_screen"> <android.support.v7.widget.RecyclerView android:id="@+id/list_recycle" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="30dp" android:background="@color/white" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:id="@+id/abar_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar_home" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways" > </android.support.v7.widget.Toolbar> <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabBackground="@color/tab_bg" app:tabIndicatorColor="@color/tab_indicator" app:tabIndicatorHeight="5dp" app:tabMode="fixed" ></android.support.design.widget.TabLayout> </android.support.design.widget.AppBarLayout> <android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="15dp" app:layout_anchor="@+id/list_recycle" app:layout_anchorGravity="bottom|right" android:id="@+id/floatin_ab_home" app:fabSize="mini" android:src="@drawable/ic_content_add" /> </android.support.design.widget.CoordinatorLayout> - <android.support.design.widget.CoordinatorLayout android:id="@+id/coodinate_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/btn_next_screen"> <android.support.v7.widget.RecyclerView android:id="@+id/list_recycle" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="30dp" android:background="@color/white" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:id="@+id/abar_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar_home" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways" > </android.support.v7.widget.Toolbar> <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabBackground="@color/tab_bg" app:tabIndicatorColor="@color/tab_indicator" app:tabIndicatorHeight="5dp" app:tabMode="fixed" ></android.support.design.widget.TabLayout> </android.support.design.widget.AppBarLayout> <android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="15dp" app:layout_anchor="@+id/list_recycle" app:layout_anchorGravity="bottom|right" android:id="@+id/floatin_ab_home" app:fabSize="mini" android:src="@drawable/ic_content_add" /> </android.support.design.widget.CoordinatorLayout> 

Ниже показан экран, который не показывает индикатор Tab, поэтому любой может узнать, чего я не вижу.

Экран, на котором отсутствует индикатор вкладки

Solutions Collecting From Web of "Не удалось увидеть вкладку Tab в библиотеке поддержки дизайна TabLayout"

Я думаю, что это ошибка в библиотеке поддержки дизайна . Что когда вы одновременно применяете оба свойства

 app:tabBackground="@color/tab_bg" app:tabIndicatorColor="@color/tab_indicator" 

Цвет фона перекрывает индикатор вкладки . Поэтому индикатор табуляции не отображается.

Если вы удалите свойство цвета tabBackground, вы увидите индикатор.

[Обновление от 25-06-2015]

Как я уже сказал, это ошибка в библиотеке поддержки дизайна . Я сообщил об этом в источник ошибок для Android. Здесь приведено https://code.google.com/p/android/issues/detail?id=176540 .

Таким образом, статус для этого – проблема FutureRelease, поэтому исправлена ​​ошибка. И это придет в будущей библиотеке.

[Обновление 20-07-2015]

Ошибка исправлена ​​и выпущена в версии 22.2.1. Вы также можете проверить его по ссылке выше.

Вы можете использовать ниже методы

1 Изменение в приложении xml: tabIndicatorColor = "" установить цвет вашего индикатора

2 создание темы костюма

 <style name="AppTheme.TabStyle" parent="Widget.Design.TabLayout"> <item name="tabTextAppearance">@style/AppTheme.TextStyle</item> <item name="tabTextColor">@color/primaryDark</item> <item name="tabSelectedTextColor">@color/white</item> <item name="tabIndicatorColor">@color/primaryDark</item> <item name="tabIndicatorHeight">3dp</item> <item name="android:background">?attr/colorPrimary</item> </style> <style name="AppTheme.TextStyle" parent="TextAppearance.Design.Tab"> <item name="android:textSize">14sp</item> <item name="textAllCaps">true</item> </style> 

Задайте тему в своей вкладке

Вы используете RecyclerView в качестве основного содержимого, используйте ViewPager, содержащий RecyclerView, и убедитесь, что вы предоставили app:layout_behavior="@string/appbar_scrolling_view_behavior" атрибута app:layout_behavior="@string/appbar_scrolling_view_behavior"

Используйте app1: tabIndicatorColor вместо приложения: tabIndicatorColor. При использовании атрибута он автоматически создаст пространство имен app1.

Я только что исправил эту ошибку, задав цвет фона программным путем

 tabLayout.setBackgroundColor(getResources().getColor(R.color.primary)); 

Или в xml

 android:background="@color/primary" 

Но я не знаю, есть ли какие-либо проблемы, когда вы задаете цвет фона таким образом

Ну вот.. 🙂

Измените свой атрибут

App: tabBackground = "@ color / tab_bg"

в

Android: background = "@ color / tab_bg"

Ваш окончательный код ..

  <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/tab_bg" app:tabIndicatorColor="@color/tab_indicator" app:tabIndicatorHeight="5dp" app:tabMode="fixed"> </android.support.design.widget.TabLayout>