안드로이드에서 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 |