안드로이드 옵션 메뉴(OptionMenu) 사용해서 앱 만들기



안드로이드에서 옵션 메뉴를 사용하기 위해서는 세 단계를 걸쳐야합니다.


메뉴 xml파일 생성 -> 자바파일 작성을 통해 액티비티에 메뉴 붙이기 -> 메뉴 별로 기능 구현하기


res폴더 안에 menu폴더가 있으면 menu.xml을 생성하고 menu폴더가 없으면 menu폴더를 만든후 menu.xml파일을 생성합니다.






menu.xml 파일에 넣고 싶은 item들을 넣은 후에 옵션 메뉴를 사용하고자 하는 Activity의 자바 파일에서


onCreateOptionMenu() 메소드를 Override 한 후 MenuInflater를 통해 옵션 메뉴를 객체화 시켜줍니다.

@Override

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.menu, menu);

return super.onCreateOptionsMenu(menu);

}


그리고 onOptionItemSelected(MenuItem item) 메소드를 Override 하고 메뉴의 기능을 구현해줍니다.

@Override

public boolean onOptionItemSelected(MenuItem item) {

switch (item.getItemId()){

case R.id.mnu:

layout.setBackgroundColor(Color.RED);

break;

return super.onOptionItemSelected(item);

}




 


 


 




위의 앱은 옵션 메뉴(OptionMenu)를 사용해서 만들었습니다.


여태까지 만들었던 앱에는 없었던 그림 회전하기와 그림 2배 확대하기를 추가했습니다.


그림을 회전하기 위해서는 setRotation(float rotation) 메소드를 호출하면 되는데 이 메소드는 처음 각도를 기준으로 들어오는 수 만큼


각도를 바꾸는 메소드입니다.


그림을 2배 확대하기 위한 메소드는 setScaleX(float scale), setScaleY(float scale) 메소드를 사용했습니다.


처음 비율을 기준으로 들어오는 scale만큼 x, y의 넓이를 확대시켜주는 메소드입니다.


확대를 적용하고 싶지 않다면 scale값을 1을 넣어주면 처음처럼 돌아갑니다.



위 앱의 모든 코드는 GitHub에서 볼 수 있습니다.


https://github.com/Ywook/Ss3-1


 






+ Recent posts