Android Material Design 기반 TabLayout 을 하단에 두고, ViewPager 를 상단에 두는 Layout 예제이다.
ViewPager : 좌우로 스와프하며 View를 전환하는 AdapterView
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ViewPagerActivity">
<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/vp_layout" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/tab_layout">
<androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.tabs.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="48dp" app:tabTextColor="@color/colorDarkGray" app:tabSelectedTextColor="@color/colorWhite" app:layout_collapseMode="pin" app:tabGravity="fill" app:tabBackground="@drawable/tab_color_selector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/vp_layout">
<com.google.android.material.tabs.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Home" />
<com.google.android.material.tabs.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Map" />
<com.google.android.material.tabs.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="공지" />
<com.google.android.material.tabs.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="사랑" />
<com.google.android.material.tabs.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="우정" />
</com.google.android.material.tabs.TabLayout>
</androidx.constraintlayout.widget.ConstraintLayout> |
전체 코드는 https://github.com/jsk005/JavaProjects/tree/master/viewpager 에 올려두었다.
Fragment 기반 WebView 코드를 포함했고, 뒤로 가기 버튼 동작하도록 하는 걸 구글링해서 추가했다.