Встроенный ViewPager tablayout в Android

179
24 апреля 2018, 04:08

Есть ли в андроиде ViewPager tablayout из коробки? Не хочется тянуть либу для этого.

Answer 1

Нет, встроенного нет. Надо или свой писать или библиотеку подключать.

Answer 2

Предлагаю вам ничего не тянуть, а воспользоваться следующим кодом c TabLayout (ссылка на офф. доку).

tab_indicator_selected:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:innerRadius="0dp"
            android:shape="ring"
            android:thickness="4dp"
            android:useLevel="false">
            <solid android:color="@color/globalPurpleLight"/>
        </shape>
    </item>
</layer-list>

tab_indicator_default:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:innerRadius="0dp"
            android:shape="ring"
            android:thickness="2dp"
            android:useLevel="false">
            <solid android:color="@android:color/darker_gray"/>
        </shape>
    </item>
</layer-list>

tab_selector:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/tab_indicator_selected"
        android:state_selected="true"/>
    <item android:drawable="@drawable/tab_indicator_default"/>
</selector>

fragment_viewpager:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="150dp"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_marginStart="32dp"
    android:layout_marginEnd="32dp"
    android:gravity="center">
    <android.support.v4.view.ViewPager
        .../>
    <android.support.design.widget.TabLayout
        android:id="@+id/tabDots"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabBackground="@drawable/tab_selector"
        app:tabGravity="center"
        app:tabIndicatorHeight="0dp"/>
</RelativeLayout>

Код в Activity/Fragment:

MyPagerAdapter adapter = new MyPagerAdapter(...);
myViewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(myViewPager);

Замечание: @color/globalPurpleLight - это мой цвет из файла colors.xml, можете задать свой.

READ ALSO
Лицензирование ПО на Java

Лицензирование ПО на Java

Здравствуйте! Скажите пожалуйста нужно ли лицензировать приложение написанное на Java? Например есть программа состоящая из двух частей клиентской...

181
Помогите построить запрос

Помогите построить запрос

Имеется таблица table с полями id, refpost, type и commentТип поля comment TEXT

222
Как заменить часть строки в поле MySQL

Как заменить часть строки в поле MySQL

Доброго всем дня! В общем такой вопрос, как в MySQL заменить часть строкового поля, зная индекс символа и длинну для замены? Что-то вроде REPLACE,...

256
Ошибка в выборки SQL MySQL

Ошибка в выборки SQL MySQL

Здравствуйте, пытаюсь сделать выборку данных, но постоянно возвращает пустое значениеВ чем ошибка?

267