기술 블로그

[안드로이드 복습] 8장 메뉴 구현 본문

Android

[안드로이드 복습] 8장 메뉴 구현

jaegwan 2018. 11. 18. 00:21
반응형
1
2
<activity android:name=".parentActivity"
            android:parentActivityName=".MainActivity"/>
cs


1. 업버튼을 활성화 하려면 매니패스트내 자식액티비티 요소안에 android:parentActivityName="부모액티비티" 속성을 추가해 준다.





2. 옵션 메뉴 구현 



옵션메뉴를 구현하려면  res안에 new 를 통해 android 리소스 디렉토리를 클릭하고 리소스타입이 menu인 디렉토리를 생성한다


그 안에 new를 통해 메뉴 리소스파일을 생성한다. 그 안에서 드래그 드롭으로 쉽게 만들 수 있다. 



그 후 작성한 옵션메뉴 리소스를 액티비티에 적용해야한다.


@Override
// public boolean onCreateOptionsMenu(Menu menu) {//옵션메튜 메소드 불리언선언
// getMenuInflater().inflate(R.menu.menu_main,menu);//메뉴플레이터를 가져오고 파라미터로 인플레이터

//R.menu.menu_main(R.menu주의),파라미터 메뉴 받음
// return true;
// }


직접 쓰기보다는 generate안에 override을 클릭하고 onCreateOptionMenu를 검색한다. 불리언 형태의 메소드다. 


MenuInflater 객체를 사용하면 메뉴와 코드를 연결 할 수 있다.


이 객체는 getMenuInflater()메서드를 통해 얻을 수 있습니다. 


이 객체의 inflate메서드가 있는데 이것을 사용하여 R.menu.main_menu와 onCreateOptionMenu의 파라미터로 설정된 현재 액티비티의 옵션매뉴를 나타네는 menu를 연결합니다.


즉 Menuinflate객체의 메서드인 inflate의 인자로 R.menu.main_menu와 이 액티비티의 menu를 연결하는 것입니다. 



이로서 옵션메뉴의 구현은 완료되었고 이제 클릭이벤트르 구현 해 보겠습니다.  


@Override
// public boolean onOptionsItemSelected(MenuItem item) {//온옵션아이템셀력디드 불리언값이다. 이걸선언해야 메뉴의 동작을 설정할 수 있다.
// switch (item.getItemId()) {//메뉴값음 item.getItemid()로 넘어온다.R.id.menu id값;이런식으로 그리고 브레이크가 아닌 Retrun true로 빠져나와야한다. 불리언이라
// case R.id.action_menu1:
// Toast.makeText(this, "첫매뉴", Toast.LENGTH_SHORT).show();
// return true;
// case R.id.action_menu2:
// Toast.makeText(this, "둘째매뉴", Toast.LENGTH_SHORT).show();
// return true;
// }
// return super.onOptionsItemSelected(item);
// }



onOptionItemSelected 메서드를 자동완성하자 //onop만쳐도 나옴


사용자가 누른 menuitem의 id를  getItemid()메서드로 얻어서(R.id.ddd형태로 옴)  스위치로 분기처리한다. 




반응형
Comments