res 폴더 밑에 resource directory로 menu
옵션을 선택해 디렉토리를 만들고 그 안에 resource file menu
옵션의 파일을 생성한다.
.xml
파일 작성
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_search"
android:title="search"
android:icon="@drawable/ic_toolbar_search"
app:showAsAction="always"
/>
<item
android:id="@+id/menu_relocate"
android:title="search"
android:icon="@drawable/ic_toolbar_relocate"
app:showAsAction="always"
/>
</menu>
<item>
태그는 각각 하나의 메뉴를 의미한다.
app: showAsAction
은 항상 툴바의 액션으로 보이게 표시하라는 의미이다.
참고로 xmlns:app="http://schemas.android.com/apk/res-auto"
이 코드는 상단에 반드시 추가해서 넣어야 한다.
다음과 같은 툴바가 생성된 것을 확인할 수 있다
//Toolbar 를 AppBar로 지정하기
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.setTitle(R.string.Toolbar_title);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); //뒤로가기 버튼, 디폴트로 true만 해도 back 버튼이 생김
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.toolbarmenu_search:
//검색창으로 이동
case android.R.id.home:{
onBackPressed();
}
default: return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar_menu,menu);
return true;
}
replaceFragment 메서드
(Activity 안에 있는)
getSupportFragmentManager().beginTransaction().replace(R.id.home_ly,fragment).addToBackStack(null).commit();
//백버튼 숨기기
((MainActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
//백버튼 보이기
((MainActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);