Deperecated/Android_강의

안드로이드 - 메뉴 - OptionMenu

누알라리 2020. 2. 12. 23:14
1. OptionMenu란?

- 안드로이드에서 화면당 하나씩 가질 수 있는 메뉴를 의미한다.

- 현재 보이는 화면(Activity)의 메인 메뉴가 된다.

 

- 1. 코드로 생성하는 법, 2. xml로 추가하는 법이 있다.

 

1. xml로 추가하는법

1. res폴더 -> Android Resources File 추가 -> menu파일 생성하여 배치

 

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {

        //1. xml로 메뉴 생성 메뉴 생성은 menuInflater
        menuInflater.inflate(R.menu.optionmenu, menu)

        return true
    }
    override fun onOptionsItemSelected(item: MenuItem): Boolean {

        // 1. XML로 구현하기
        when(item?.itemId)
        {
            R.id.Item2_1 ->
                textView.text = "우루룰ㄹ";
            R.id.Item2_2 ->
                textView.text = "에렐레렐";
        }
        
        return super.onOptionsItemSelected(item)
    }

 

3. 코드로 추가하는 법
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        
        //2. 코드로 생성하기.
        menu?.add(Menu.NONE, Menu.FIRST + 1, Menu.NONE, "코드메뉴1");
        menu?.add(Menu.NONE, Menu.FIRST + 2, Menu.NONE, "코드메뉴1");

        var sub:Menu? = menu?.addSubMenu("메뉴3")
        sub?.add(Menu.NONE, Menu.FIRST + 3, Menu.NONE, "코드메뉴 3-1")
        sub?.add(Menu.NONE, Menu.FIRST + 4, Menu.NONE, "코드메뉴 3-1")


        return true
    }
    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        
        when(item?.itemId)
        {
            Menu.FIRST + 1 ->
                textView.text = "우루룰ㄹ";
            Menu.FIRST + 2 ->
                textView.text = "에렐렐ㄹㄹ";
            Menu.FIRST + 3->
                textView.text = "뷁뷁";
        }


        return super.onOptionsItemSelected(item)
    }

 

4. onCreateOptionsMenu()

- Activity의 객체가 만들어 질 때 자동으로 호출되는 메서드.

- 이 함수에서 메뉴를 생성하게 되며, true를 반환하면 메뉴가 나타난다.

 

5. 리스너

- OnOptionsItemSelected

'Deperecated > Android_강의' 카테고리의 다른 글

안드로이드 - PopupMenu  (0) 2020.02.13
안드로이드 - ContextMenu  (0) 2020.02.13
안드로이드 - ViewPager  (1) 2020.02.12
안드로이드 - Spinner  (0) 2020.02.12
안드로이드 - CustomAdapter  (0) 2020.02.12