2010/04/05

[Study Note] Context Menu 사용하기~~

Context Menu 는 View에서 사용자가 길게 터치(Long-Touch)할 경우 보여지는 메뉴이다.



Context Menu 를 사용하기 위해서는 View 를 registerForContextMenu 함수를 이용하여 Context Menu 를 호출 할 수 있도록 등록하여 주어야 한다.




registerForContextMenu( View v );





View 를 registerForContextMenu 를 이용하여 등록하면 해당 View 에서 사용자가 Long-Touch 를 하게되면 onCreateContextMenu 함수가 호출이 된다. 이때 넘겨 받은 View 개체에 따라서 적절한 Menu를 만들어 주면 만들어진 Menu가 보여지게 된다. Context Menu 는 서브 메뉴와 Checkable Menu 를 지원한다.





public void onCreateContextMenu( ContextMenu  menu,



View  v, ContextMenu.ContextMenuInfo  menuInfo )


매개변수



ContextMenu menu : 보여지게 될 menu 개체

View v : Context Menu 를 소유한 View 개체

ContextMenu.ContextMenuInfo menuInfo : menu에 대한추가 적인 정보로 내용은 view 에따라 달라짐.





보여지는 Context Menu 를 선택하게 되면 onContextItemSelected 함수가 호출이 되고 이때 선택된 메뉴가 넘어 매개변수(MenuItem)로 오는데 받은 메뉴에 대한 적절한 처리를 해 주면 된다.





public boolean onContextItemSelected( MenuItem  item )

매개변수



MenuItem item : 선택된 Context Menu



반환 값



선택 된 Menu item에 대한 처리 여부





리소스 파일 보기



소스 파일 보기



Context Menu for TextView 1

TextView 의 Context Menu

Context Menu for TextView 2

Context Menu의 Sub Menu





Context Menu for ImageView 1

ImageView 의 Context Menu

Context Menu for ImageView 2

Context Menu의 SubMenu





Context Menu for Button 1

Button의 Context Menu 1

Context Menu for Button 2

Button의 Context Menu 2



<

Original Post : http://neodreamer-dev.tistory.com/401

No comments :

Post a Comment