2021/01/18 - [안드로이드] - [안드로이드] OnClickListener onClick 하나로 다중 버튼 이벤트 설정하기
2021/01/19 - [안드로이드] - [안드로이드] DrawerLayout Navigaion 쉽게 만들어보기
2021/01/19 - [안드로이드] - [안드로이드]DrawerLayout Navigation 메뉴(Menu) 추가하기
2021/01/20 - [안드로이드] - [안드로이드]DrawerLayout Navigation Header 추가하기
이번 시간에는 이전에 했던 예제를 이어서 AppBar에 메뉴아이콘을 추가해서
Navigation을 호출하는 예제를 만들어 보겠습니다.
1. 아이콘 추가
2. 메인코드 수정(MainActivity.java)
2-1. ActionBar 객체 추가해서 뒤로가기 버튼 생성하고, 뒤로가기 버튼에 메뉴 아이콘 적용
// 액션바 객체
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
//뒤로가기버튼 이미지 적용
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
2-2. 메뉴 아이콘 클릭 시 네비게이션 메뉴 호출 설정
//메뉴 선택시 네비게이션 호출
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
drawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}
2-3. 전체코드
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Toast;
import com.google.android.material.navigation.NavigationView;
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
private DrawerLayout drawerLayout;
private NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
// 액션바 객체
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
//뒤로가기버튼 이미지 적용
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
drawerLayout = findViewById(R.id.drawer_layout);
navigationView = findViewById(R.id.navigationView);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch(menuItem.getItemId()){
case R.id.nav_camera:
menuItem.setChecked(true);
displayMessage("camera selected");
drawerLayout.closeDrawers();
return true;
case R.id.nav_photo:
menuItem.setChecked(true);
displayMessage("photo selected");
drawerLayout.closeDrawers();
return true;
case R.id.nav_slideShow:
menuItem.setChecked(true);
displayMessage("slideShow selected");
drawerLayout.closeDrawers();
return true;
}
return false;
}
});
}
private void displayMessage(String message){
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
//메뉴 선택시 네비게이션 호출
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
drawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}
}
3. 실행화면
2021/01/18 - [안드로이드] - [안드로이드] OnClickListener onClick 하나로 다중 버튼 이벤트 설정하기
2021/01/19 - [안드로이드] - [안드로이드] DrawerLayout Navigaion 쉽게 만들어보기
2021/01/19 - [안드로이드] - [안드로이드]DrawerLayout Navigation 메뉴(Menu) 추가하기
2021/01/20 - [안드로이드] - [안드로이드]DrawerLayout Navigation Header 추가하기
[안드로이드] 안드로이드 스튜디오 기본 색상 코드에서 가져오는 방법 (0) | 2021.01.23 |
---|---|
[안드로이드] 안드로이드 스튜디오 기본 색상 가져오는 방법 (0) | 2021.01.22 |
[안드로이드] DrawerLayout Navigation Header 추가하기 (2) | 2021.01.20 |
[안드로이드] DrawerLayout Navigation 메뉴(Menu) 추가하기 (0) | 2021.01.19 |
[안드로이드] DrawerLayout Navigaion 쉽게 만들어보기 (0) | 2021.01.19 |
댓글 영역