SignInActivity.kt 6.92 KB
package com.example.vip

import android.content.ClipData
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.ActionBar
import androidx.appcompat.app.AlertDialog
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 builder = AlertDialog.Builder(this)
        val dialogView = layoutInflater.inflate(R.layout.dialog_example, null)
        //val dialogText = dialogView.findViewById<EditText>(R.id.dialogEt)
        //val dialogRatingBar = dialogView.findViewById<RatingBar>(R.id.dialogRb)
        dialogView.findViewById<TextView>(R.id.dialogTitle).text="프로필을 입력해주세요!"
        dialogView.findViewById<TextView>(R.id.dialogContent).text="정확한 정책 추천을 얻으려면 더 많은 프로필 정보가 필요해요!"

        builder.setView(dialogView)
            .setPositiveButton("다음에 하기") { dialogInterface, i ->
                //mainTv.text = dialogText.text.toString()
                //mainRb.rating = dialogRatingBar.rating
                /* 확인일 때 main의 View의 값에 dialog View에 있는 값을 적용 */
            }
         .setNegativeButton("지금할게요 :)") { dialogInterface, i ->
             /* 취소일 때 아무 액션이 없으므로 빈칸 */
             val intent = Intent(this, InputProfilFirstOneActivity::class.java)
             startActivity(intent)
         }
            .show()


        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

}