SignInActivity.kt 5.67 KB
package com.example.vip

import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
import androidx.appcompat.app.ActionBar
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.viewpager.widget.ViewPager
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_signin.*

class SignInActivity : AppCompatActivity() {

    internal lateinit var viewpager : ViewPager
    ////bottom navigation view operation start 1
    lateinit var bottomBar: ActionBar
    ////bottom navigation view operation end 1
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_signin)

        val policyFieldList = ArrayList<PolicyFieldItem>()

        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.kyoyook_icon)!!,
                getString(R.string.title01)
            )
        )
        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.koyong_icon)!!,
                getString(R.string.title02)
            )
        )
        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.joogeo_icon)!!,
                getString(R.string.title03)
            )
        )
        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.health_icon)!!,
                getString(R.string.title04)
            )
        )
        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.seomin_icon)!!,
                getString(R.string.title05)
            )
        )
        policyFieldList.add(
            PolicyFieldItem(
                ContextCompat.getDrawable(this, R.drawable.moonhwa_icon)!!,
                getString(R.string.title06)
            )
        )


        val adapter = PolicyFieldAdapter(policyFieldList)
        policyFieldRecyclerView.adapter = adapter

        viewpager = findViewById(R.id.welcomeViewPager) as ViewPager
        val viewpageradapter = ViewPagerAdapter(this)
        viewpager.adapter = viewpageradapter

        // 1. 툴바 사용 설정
        setSupportActionBar(toolbar)

        // 2. 툴바 왼쪽 버튼 설정
        supportActionBar!!.setDisplayHomeAsUpEnabled(true) // 왼쪽 버튼 사용 여부 true
        supportActionBar!!.setHomeAsUpIndicator(R.drawable.return_page) // 왼쪽 버튼 아이콘 설정
        supportActionBar!!.setDisplayShowTitleEnabled(false) // 타이틀 안보이게 하기

        ////bottom navigation view operation start 2
        bottomBar=supportActionBar!!
        val bottomNavigation: BottomNavigationView =findViewById(R.id.bottomNavigation)
        bottomNavigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
        ////bottom navigation view operation end 2

    }
    // 3.툴바 메뉴 버튼을 설정
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.main_menu, menu) // main_menu 메뉴를 toolbar 메뉴 버튼으로 설정
        return true
    }

    var back_pressed: Long = 0 // 뒤로가기 종료

    override fun onBackPressed() {
        if (back_pressed + 2000 > System.currentTimeMillis()) {
            finishAffinity()
            System.runFinalization()
            System.exit(0)
        }
            //super.onBackPressed()
        else
            Toast.makeText(getBaseContext(), "\'뒤로\' 버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show()
        back_pressed = System.currentTimeMillis()
    }

    // 4.툴바 메뉴 버튼이 클릭 됐을 때 콜백
    override fun onOptionsItemSelected(item: MenuItem?): Boolean {
    // 클릭된 메뉴 아이템의 아이디 마다 when 구절로 클릭시 동작을 설정한다.
        when(item!!.itemId){
            android.R.id.home->{ // 메뉴 버튼
                Snackbar.make(toolbar,"Menu pressed",Snackbar.LENGTH_SHORT).show()
            }
            R.id.menu_search->{ // 검색 버튼
                val search_Intent = Intent(this, SearchActivity::class.java)
                startActivity(search_Intent)
                //Snackbar.make(toolbar,"Search menu pressed",Snackbar.LENGTH_SHORT).show()
            }
        }
        return super.onOptionsItemSelected(item)
    }

    //bottom navigation view operation start 3
    private val mOnNavigationItemSelectedListener=BottomNavigationView.OnNavigationItemSelectedListener{item->
        when (item.itemId){

            R.id.bottomHome ->{
                val intent = Intent(this, SignInActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.bottomRecommend ->{
                val intent = Intent(this, RecommendActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.bottomFavorites ->{
                val intent = Intent(this, FavoritesActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }
            R.id.bottomInfo ->{
                val intent = Intent(this, InfoActivity::class.java)
                startActivity(intent)
                return@OnNavigationItemSelectedListener true
            }


        }
        false
    }
//bottom navigation view operation end 3

}