Это часто спрашивают для TabHost, но в моем случае я использую TabLayout и не нашел никакого подобного вопроса или решения.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/selectedTabTitleColor"
app:tabTextColor="@color/unselectedTabTitleColor" />
<com.sero583.app.view.CustomViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Я использую, как вы можете видетьПользовательский View Pager и мне удалось заблокировать смахивание, но я понятия не имею, как заблокировать нажатие на заголовок вкладки, все доступные методы возвращают только void, и я не знаю, как его динамически сбросить, так как я не нашел никакого методачто-то вроде setViewingTab (int index);