Использование TapTargetView в пункте меню "Навигационный ящик"

Я использую TapTargetView для создания своей витрины, и она хорошо работает с кнопками и панелью инструментов, но мне нужно настроить таргетинг на меню "Навигационный ящик", и я не попал туда.

Одним из моих подходов было создание локальной переменной TextView (или чего-либо еще) и использование app: actionViewClass в моем пункте меню. Цель достигнута, но не так, как ожидается, потому что actionViewClass находится на правом краю пункта меню, смотрите скриншот

<item
    android:id="@+id/nav_criar_projeto"
    android:icon="@drawable/ic_add"
    android:title="@string/criar_projeto"
    app:showAsAction="always"
    app:actionViewClass="android.widget.TextView" />
TapTarget.forView(
  navigationView.getMenu().findItem(R.id.nav_criar_projeto).getActionView(),
     "Vamos criar nosso primeiro projeto",
     "Você ainda não possui um projeto, vamos criar um")

Можно ли нацелить значок или текст этого пункта меню?

0 ответов

Решил это, установив app:contentDescription="name_here" к моему <item> внутри <menu>Тогда просто позвони

navigationView.findViewsWithText(menuItems, "name_here", View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION);

Но для правильной работы приведенный выше код необходимо вызвать в новом потоке, чтобы у интерфейса было достаточно времени для рендеринга.

new Handler().post(new Runnable() {
                    @Override
                    public void run() {
                        methodToFindTheView();
                    }
                });
Другие вопросы по тегам