CardView в TabLayout - PullRequest
       8

CardView в TabLayout

0 голосов
/ 27 февраля 2019

Я хочу использовать TabLayout в качестве этого изображения Sample

Я хочу изменить цвет текста и фона при выделении и эффекте возвышения на стороне XML, если это возможно.

Я попробовал радио кнопку, но без удачи при стилизации.

Эти кнопки будут динамическими, счетчик и текст будут поступать из сервиса.

  <com.google.android.material.tabs.TabLayout
            android:id="@+id/tl_buttons"
            android:layout_width="match_parent"
            android:layout_height="80dp"
            app:tabBackground="@drawable/tab_selector"
            app:tabSelectedTextColor="@color/colorPrimary"
            app:tabTextColor="@color/colorPrimaryDark"
            android:background="@android:color/transparent"
            app:tabMode="fixed"
            app:tabGravity="fill"
            app:tabPadding="@dimen/margin_biggest"
            android:fillViewport="false"
            app:tabPaddingEnd="@dimen/margin_biggest"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/btnMovies"
            app:layout_constraintEnd_toEndOf="parent"
    />

tab_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/corner_radius_3dp" android:state_selected="true"/>
<item android:drawable="@drawable/corner_radius_3dp_dark"/>

custom_tab.xml

<androidx.cardview.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/corner_radius_3dp"
    android:layout_marginEnd="@dimen/margin_biggest"
    android:elevation="4dp">
<TextView
        android:id="@+id/tv_tab_item"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:text="Movies"
        android:layout_gravity="center"
        android:background="@color/colorPrimary"
/>

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

val viewTab = LayoutInflater.from(applicationContext).inflate(R.layout.custom_tab,null)
    viewTab.tv_tab_item.text = "TV Show"
    val tab1 = binding.tlButtons.newTab()
    tab1.customView = viewTab
    val tab2 = binding.tlButtons.newTab().setText("Movies")

   binding.tlButtons.addTab(tab1)
   binding.tlButtons.addTab(tab2)
...