Использование 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();
}
});