Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

맨땅에 코딩

[android] Toolbar menu 사용하기(왼쪽, 오른쪽 다) + menu icon 커스텀 본문

앱 개발/Java

[android] Toolbar menu 사용하기(왼쪽, 오른쪽 다) + menu icon 커스텀

맨땅 2022. 7. 27. 16:57

목차

    반응형

     

     

     

     

     

    Toolbar 만드는법은 전 게시글을 참고해주시면 됩니다

    https://haruvely.tistory.com/

     

    맨땅에 코딩

    다른 개발자분들에게 도움이 되었으면 좋겠습니다

    haruvely.tistory.com


     

     

    1. layout 에 menu.xml을 만들어 줍니다

     

    res에 오른쪽 마우스 - Android Resource Directory - New Resource Directory를 누르신 후  menu를 선택해줍니다

    그 후 menu폴더가 생기면 폴더에 오른쪽 마우스 - new - menu Resource File 을 클릭해줍니다

     

     

     

    menu.xml에 오른쪽에 들어갈 아이콘을 추가해줍니다

     

    [menu.xml]

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:id="@+id/menu_refresh"
            android:title="새로고침"
            android:icon="@drawable/ic_baseline_refresh_24"
            app:showAsAction="ifRoom" />
    </menu>

     

     

    +) 아이콘 만드는법

     

    drawable - new - vector asset을 누르신후 Clip Art에서 원하시는 아이콘 선택 후 색상을 골라주시면 됩니다

    아래 사진은 제가 툴바 메뉴 왼쪽에 넣을 아이콘입니다

     

     

     

    2. toolbar를 사용할 activity에 필요한 코드를 입력해줍니다 

     

    [MainActivity.java]

    toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); //툴바 왼쪽 아이콘 활성화
    getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_list24); //툴바 왼쪽 아이콘 이미지 생성
    toolbar.showOverflowMenu();

    저는 위의 코드를 onCreate 함수 안에 넣어주었습니다

     

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater menuInflater = getMenuInflater();
            menuInflater.inflate(R.menu.menu, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.menu_refresh:
                    //오른쪽의 메뉴 아이콘을 눌렀을때 
                    return true;
            }//여기서 switch문으로 왼쪽 아이콘을 눌렀을때의 이벤트도 넣어주시면 됩니다
            return super.onOptionsItemSelected(item);
        }

     

     

    마지막으로 툴바를 사용하는 Activity의 layout에 오셔서 아래의 코드를 한 줄 추가해주시면 됩니다

    <include layout="@layout/toolbar" />

     

     

     

    여기까지 봐주셔서 감사합니다

    궁금하신점은 편하게 댓글 남겨주세요

    반응형