Много раз вам нужно иметь ViewPager для вашего приложения в Android, и часто для этого нужен TabStrip.

Есть несколько хороших библиотек [1] [2] для реализации ViewPager TabStrip, но если у вас ограниченное количество вкладок (2 или 3, которые подходят для экрана без горизонтальной прокрутки) и вам нужна простая индикатор для них включая целую библиотеку для них просто перебор.
Давайте посмотрим код ...
Вот простой ConstraintLayout, содержащий наш ViewPager и его 2 вкладки. Для линии индикатора я собираюсь использовать простой объект View со статическим синим фоном.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/default_bg_color">
<TextView
android:id="@+id/myStickersBtn"
style="@style/AppTheme.ClickableBorderless"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/my_stickers"
app:layout_constraintEnd_toStartOf="@+id/lastStickersBtn"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/lastStickersBtn"
style="@style/AppTheme.ClickableBorderless"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/last_stickers"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/myStickersBtn"
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
<View
android:id="@+id/indicator"
android:layout_width="0dp"
android:layout_height="2dp"
android:background="@color/colorAccent"
app:layout_constraintEnd_toEndOf="@+id/myStickersBtn"
app:layout_constraintStart_toStartOf="@+id/myStickersBtn"
app:layout_constraintTop_toBottomOf="@+id/myStickersBtn" />
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/indicator" />
</android.support.constraint.ConstraintLayout>
И чтобы прикрепить этот индикатор к ViewPager, нам просто нужно использовать метод ViewPager.addOnPageChangeListener, перемещая индикатор с помощью positionOffset и width одной из наших кнопок:
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {
}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
if (positionOffset != 0f) // remove this condition and see what happens
indicator.translationX = positionOffset * myStickersBtn.width
}
override fun onPageSelected(position: Int) {
}
})
Он должен дать вам представление о том, как можно использовать простые инструменты для простых целей.