안드로이드에서 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()를 이용해서 새로운 메뉴를 추가하면 된다.
이렇게 하면 기존 메뉴에 있는 기능들도 그대로 쓸 수 있고
내가 넣고싶은 기능을 추가할 수도 있다.
이때 새로운 메뉴의 위치는 젤 왼쪽이 되는데, 그 위치또한 설정 가능하다.
반응형
'Android > Android UI' 카테고리의 다른 글
[안드로이드] ViewPager2 (0) | 2023.02.01 |
---|---|
splahScreen 안드로이드 12 버전에 적용하기 (0) | 2023.01.14 |
include layout 의 viewBinding id 참조하기 (2) | 2022.07.28 |
안드로이드 - BottomSheet , BottomSheetBehavior (0) | 2021.08.31 |
안드로이드 UI 공부 참고 (0) | 2021.08.26 |