https://soo0100.tistory.com/1896
콘텍스트 메뉴가 옵션 메뉴와 다른 점은 바로 각 View 별로 메뉴를 가질 수 있다는 점입니다.
옵션 메뉴는 해당 액티비티 당 하나씩만 만들었지만 말이죠.
오늘은 컨 특정 영역을 꾸~욱 누를 때 나오는 플로팅 컨텍스트 메뉴를 만들어 보겠습니다.
한때 많이 사용되었고 요즘도 자주 쓰이고 있는 메뉴이기도 합니다.
결과는, 하기처럼 나오겠습니다.
1. 메인 액티비티에서, 해당 뷰에 컨텍스트 메뉴를 등록합니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.TextView);
//텍스트 뷰에 컨텍스트 메뉴 플로팅Type 을 등록한다.
registerForContextMenu(textView);
}
textView를 꾸~욱 누르면 콘텍스트 메뉴가 나오도록 등록하는 과정입니다.
2. onCreateContextMenu() 함수로 메뉴를 구성합니다.
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("플로팅 바 스타일");
menu.add(0,1,0,"파랑");
menu.add(0,2,0,"녹색");
menu.add(0,3,0,"빨강");
}
3. 메뉴를 선택 시 동작하는 함수입니다.
@Override
public boolean onContextItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case 1:
textView.setBackgroundColor(Color.BLUE);
return true;
case 2:
textView.setBackgroundColor(Color.GREEN);
return true;
case 3:
textView.setBackgroundColor(Color.RED);
return true;
default:
return super.onContextItemSelected(item);
}
}
녹색 버튼을 선택시, 하기와 같은 결과 화면을 볼 수 있겠습니다.
감사합니다.
반응형
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
리스트형 기본 다이얼로그 만들기 (2) | 2022.07.17 |
---|---|
팝업 메뉴 만들기 (6) | 2022.07.15 |
옵션 메뉴 만들기 (6) | 2022.07.12 |
안드로이드 탐색 메뉴 숨기기 (8) | 2022.07.04 |
이너클래스를 커스텀 뷰 로 사용하기 (6) | 2022.07.03 |
댓글