navigation
스크롤했을때 나오는 메뉴 바 만듦
사용 하기!
oncreate : 앱을 틀었을때 이걸 실행해라
floatingactionbutton 변수이름 = 메일형태의 아이콘을 띄워라
Snackbar = toast메시지랑 비슷한데, 업그레이드 된 버전. 더 세련되었고 멋진 디자인의 팝업이 띄워짐
(이 코드가 나한테는 기본이 아님)
FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener((view) ->{
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
});
DrawerLayout : 리스트 형태의 메뉴를 왼쪽에서 꺼낼때 drawer_layout을 클릭하면(ctrl+클릭)
이걸로 들어와짐(xml파일로)
영역 안에
<include></>안에 navigationView를 포함시킴
투명한상태의 View + 실제들어갈 navigationView 총 뷰는 두개
OnBackPressed(): 안드로이드 폰에서 물리적으로 있는 버튼이나 뒤로가기 버튼을 누르게 되면 함수안의 액션이 일어남
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START)
}else{
super.onBackPressed();
}
}
뒤로가기를 눌렀을때 DrawerLayout을 찾아주고 열려있다면, 닫아줘라
열려있지 않다면 뒤로가라. 라는 뜻의 코드 구현되어있음
onCreateOptionsMenu():
앱을 시작할때 옵션메뉴 생성
미리 템플릿에 만들어놓은 형태 가져옴
main클릭해보면 무엇인지 확인가능
(옵션메뉴 생성이루어짐)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();
if (id == R.id.action_settings){
return true;
}
return super.onOptionsItemSelected(item);
}
옵션메뉴
eX) settings라는 옵션 메뉴중 하나를 클릭했을때
이 함수가 실행됨
if (id == R.id.action_settings){
return true;
}
onNavigationItemSelected
라는 것은 왼쪽의 리스트 메뉴를 꺼냈을때 나오는 버튼들을 클릭했을때 이루어지는 액션들을 써놓은것
가장 내비게이션 메뉴를 쓰는 핵심 포인트
여기에다가 각각 액션을 구현해줄 수 있음
아이콘을 바꾸려면
res -> menu->activitymaindrawer 에보면 이미지가 임의로 선언되어있음.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_camera"
android:title="@string/menu_home" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="@string/menu_gallery" />
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="@string/menu_slideshow" />
</group>
</menu>
drawable폴더에 원하는 이미지 업로드 끌어와놓고 경로 선정 해주면 이미지 바뀌게 됨.
activity main은 각각의 xml들을 포함한것
'✍2021,2022 > app(android studio)' 카테고리의 다른 글
앱만들기 8 . (WebView) (0) | 2021.07.12 |
---|---|
앱만들기7(SharedPreferences) (0) | 2021.07.11 |
앱만들기5.(ListView) (0) | 2021.07.08 |
앱만들기 4 (패키지구조) (0) | 2021.07.06 |
앱만들기3 (ImaginView &Toast) (0) | 2021.07.05 |