ViewPager를 이용한 메인 화면 만들기

김가영·2020년 10월 13일
0

Android

목록 보기
3/6
post-thumbnail

상단바 없애기

styles.xml

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

parent 를 Theme.AppCompat.Light.NoActionBar 로 바꿔준다

뷰페이저 추가하기


activity_main.xml

tabLayout 과 viewPager를 추가해준다.

PagerAdapter 만들어주기

MainPagerAdapter.kt

getPageTitle(positon) : position 에 따라 tabLayout 에 들어갈 text 를 return

package com.gyoung.movierecord.adapter

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import com.gyoung.movierecord.fragment.MainFragment

class MainPagerAdapter(fm : FragmentManager) : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
    override fun getItem(position: Int): Fragment {
        return when(position){
            0 -> MainFragment()
            1 -> MovieFragment()
            else -> SettingFragment()
        }
    }

    override fun getCount(): Int {
        return 3
    }

    override fun getPageTitle(position: Int): CharSequence? {
        return when(position){
            0 -> "전체"
            1 -> "영화"
            else -> "설정"
        }
    }
}

activity 연결

MainActivity.kt

viewPager_main.adapter = MainPagerAdapter(supportFragmentManager)
tabLayout_main.setupWithViewPager(viewPager_main)

PagerAdapter 와 뷰페이저, tabLayout을 연결해준다.

꾸미기

tabLayout 글씨 색바꾸기

tabLayout_main.setTabTextColors(color1, color2)
: 첫번째 paramenter는 unselected 일 때, 두번째는 selected 일 때의
color int값

tabLayout 밑의 indicator bar 색 바꾸기

tabLayout_main.setSelectedTabIndicatorColor(color1)

profile
개발블로그

0개의 댓글