[안드로이드] Toolbar 뒤로가기 버튼 만들기

프로그래밍/Android 관련2018. 1. 29. 20:48

안녕하세요. 개발자 드리머즈입니다.


안드로이드에서 툴바를 만들면 기본적으로는 위 사진처럼 뒤로가기 버튼이 없습니다. 뒤로가기 버튼을 생기게 하기 위해서는 아래 4번째 줄의 코드를 추가하면 됩니다.


1
2
3
4
    Toolbar mToolbar = (Toolbar) findViewById(R.id.main_toolbar);
    setSupportActionBar(mToolbar);
 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼, 디폴트로 true만 해도 백버튼이 생김
cs



그러면 위 사진처럼뒤로가기 버튼이 생깁니다. 하지만 아무리 눌러도 동작을 하지 않습니다. 동작을 위해서는 아래의 굵게 표시한 코드를 추가하면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
 
        Toolbar mToolbar = (Toolbar) findViewById(R.id.main_toolbar);
        setSupportActionBar(mToolbar);
 
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼, 디폴트로 true만 해도 백버튼이 생김
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case android.R.id.home:{ //toolbar의 back키 눌렀을 때 동작
                finish();
                return true;
            }
        }
        return super.onOptionsItemSelected(item);
    }
}
 
cs


주의할 점은 뒤로가기 버튼이 눌러졌을 때 동작을 설정하는데 android.R.id.home 으로 뒤로가기 버튼이 눌러졌음을 판단한다는 것입니다. backkey가 아니라 home입니다.

 

작성자

Posted by 드리머즈

관련 글

댓글 영역