Как настроить вкладки TabLayout отдельно? - PullRequest
0 голосов
/ 05 октября 2018

Это мой код TabLayout xml:

    <android.support.design.widget.TabLayout
        app:tabBackground="@drawable/profile_tab_selector"
        android:id="@+id/profileTabLayout"
        android:layout_width="match_parent"
        android:layout_height="28dp"
        android:layout_marginEnd="16dp"
        android:layout_marginStart="16dp"
        app:tabGravity="fill"
        app:tabIndicatorHeight="0dp"
        app:tabMode="fixed"
        app:tabSelectedTextColor="@color/colorPrimary"
        app:tabTextColor="@color/white">
    </android.support.design.widget.TabLayout>

А это для tabBackground = "@ drawable / profile_tab_selector" :

<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_selected="true">
    <shape>
        <stroke android:width="1dp" android:color="@color/white"/>
        <solid android:color="@color/white"/>
    </shape>
 </item>
 <item>
    <shape>
        <stroke android:width="1dp" android:color="@color/white"/>
        <solid android:color="@color/blue"/>
    </shape>
 </item> 
</selector>

Я хочу оформить его так с закругленными углами:

enter image description here

Проблема в том, что в селекторе IНе удается обнаружить первую и последнюю вкладки для их изменения.И вот результат:

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Ваше решение здесь

Не используйте : app: tabBackground = "@ drawable / profile_tab_selector"

Использование : android: background = "@ drawable / profile_tab_selector"

Вы также можете попробовать.

0 голосов
/ 05 октября 2018

Вы задали форму в файле drawable, но не указали радиус угла.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
  <corners
    android:bottomLeftRadius="15dp"
    android:bottomRightRadius="15dp"
    android:topLeftRadius="15dp"
    android:topRightRadius="15dp" />
  <stroke
     android:width="10dp"
     android:color="@android:color/transparent"></stroke>
  <solid android:color="#23cf5a" />
 </shape>

И вы тоже можете создать что-то подобное

<?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

<corners
    android:bottomLeftRadius="16dp"
    android:bottomRightRadius="16dp"
    android:radius="32dp"
    android:topLeftRadius="16dp"
    android:topRightRadius="16dp" />

<solid android:color="@color/tab_color" />

<padding
    android:bottom="0dp"
    android:left="0dp"
    android:right="0dp"
    android:top="0dp" />

<size
    android:height="32dp" />


</shape>
...