Android/Android UI
안드로이드 action mode
최데브
2022. 1. 11. 22:16
안드로이드에서 Text를 Select 즉 드래그 했을때 나오는 툴들을 변경하고 싶을때가 있다.
예를 들면,
이런식으로, Important를 꾹~ 눌려서 (Long press) Text를 Select한 뒤에 나오는 메뉴에서
'퀵번역'을 추가 하고 싶을 수 있다.
이런걸 구현하려고 하면 간단하게 함수 하나만 override하면 된다.
@Override
public void onActionModeStarted(final android.view.ActionMode mode) {
Menu menu = mode.getMenu();
menu.add("퀵번역")
.setEnabled(true)
.setVisible(true)
.setOnMenuItemClickListener(item -> {
//해당 메뉴를 눌렸을 때 수행할 작업
return true;
});
super.onActionModeStarted(mode);
}
이렇게 onActionModeStarted를 Override하고
Menu를 얻어온 다음,
menu.add()를 이용해서 새로운 메뉴를 추가하면 된다.
이렇게 하면 기존 메뉴에 있는 기능들도 그대로 쓸 수 있고
내가 넣고싶은 기능을 추가할 수도 있다.
이때 새로운 메뉴의 위치는 젤 왼쪽이 되는데, 그 위치또한 설정 가능하다.