У меня есть два модуля в приложении. Во втором я работаю как контекст. Задача требует анимации панели инструментов через второй модуль. Проблема в том, что я не хочу отправлять объект панели инструментов от 1 до 2 модуля, возможно, есть какой-то способ получить его через Activity obj?Android find toolbar
1
A
ответ
2
Это совсем не сложно. Если вы прочтете это answer, вы увидите, что на панели инструментов есть личный идентификатор, который можно найти с помощью getResources().getIdentifier("action_bar", "id", "android")
. Но в некоторых случаях, когда вы попытаетесь найти представление по этому идентификатору, оно будет null. Затем вы должны попытаться найти его рекурсивно со вторым методом. Надеюсь, это может вам помочь.
@Nullable public Toolbar getToolbarView(@NonNull Context context) {
Activity activity = ((Activity) context);
int resId = context.getResources().getIdentifier("action_bar", "id", "android");
Toolbar toolbar = (Toolbar) activity.findViewById(resId);
if (toolbar == null) {
toolbar = findToolbar((ViewGroup) activity.findViewById(android.R.id.content));
}
return toolbar;
}
private Toolbar findToolbar(@NonNull ViewGroup viewGroup) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View view = viewGroup.getChildAt(i);
if (view.getClass().getName().equals("android.support.v7.widget.Toolbar")
|| view.getClass().getName().equals("android.widget.Toolbar")) {
return (Toolbar) view;
} else if (view instanceof ViewGroup) {
return findToolbar((ViewGroup) view);
}
}
return null;
}
Смежные вопросы
- 1. Scrolling ToolBar Android
- 2. значок Android ToolBar позиционирование
- 3. Android Toolbar style
- 4. Android fading toolbar
- 5. Android ToolBar внезапно исчезает
- 6. Использование Android Toolbar
- 7. Android Multiline Toolbar Название
- 8. Android Spinner Toolbar style
- 9. Android ActionBar vs ToolBar
- 10. Android Toolbar Styling
- 11. ToolBar всегда поднял Android
- 12. Android Collapsing Toolbar Subtitle
- 13. Android nav drawer over toolbar
- 14. Put ToolBar выше ActionBar android
- 15. Изменение Android Maps Toolbar анимации
- 16. android-toolbar расширяет размер экрана
- 17. Android toolbar Проблема с макетами
- 18. Android ToolBar обыкновение показывать название
- 19. товары, появляющиеся на Android Toolbar
- 20. Материал для Android Toolbar/SupportActionBar
- 21. Tabbed Toolbar в Android L
- 22. Android ToolBar с 3 фрагментами
- 23. Android toolbar setNavigationIcon не работает
- 24. ToolBar android с различными кнопками
- 25. Android Toolbar установить название объяснение
- 26. Android Find Phone App
- 27. Dynamic ckeditor toolbar
- 28. Альтернатива ActionbarActivity для ToolBar в android
- 29. Android v7 Toolbar title text font
- 30. Android: сворачивание Linearlayout вместо Collapsing Toolbar
Вы должны сделать объект 'Toolbar' общедоступным. –
Можете ли вы перечислить некоторый код или быть более подробным? –
Я не могу, это просто в газете. У меня есть два модуля в приложении. Во втором я работаю как контекст. Задача требует анимации панели инструментов через второй модуль. Проблема в том, что я не хочу отправлять объект панели инструментов от 1 до 2 модуля, возможно, есть какой-то способ получить его через Activity obj? – Near1999