Значок навигации BottomAppBar со значком
Я использую новый BottomAppBar в приложении. Но я не могу заставить значок работать. Я попытался использовать ту же логику, что и в BottomNavigationView, но она не работает. (В другом приложении у меня есть BottomNavigationView внутри BottomAppBar, где работает значок, но я не смог использовать тот же код в приложении BottomAppBar (значок навигации).
MenuView.ItemView itemView = (MenuView.ItemView) bottomAppBar.getChildAt(posicao);
notificationBadge = LayoutInflater.from(this).inflate(R.layout.view_notification_badge, (ViewGroup) itemView, false);
TextView notific = notificationBadge.findViewById(R.id.badge);
notific.setText(notificacao);
itemView.addView(notificationBadge);
Я попробовал класс BadgeNavigationDrawable. Но не удалось найти правильную ссылку на значок навигации в BottomAppBar.
Благодарю.
1 ответ
Вы можете попробовать вот так: в xml , установите "app:navigationIcon"(левый значок в нижней части AppBar):
<android.support.design.bottomappbar.BottomAppBar
android:id="@+id/bottom_appbar"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_gravity="bottom"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:fabAttached="true"
app:backgroundTint="@color/colorPrimary"
app:navigationIcon="@android:drawable/ic_dialog_email"
app:fabCradleVerticalOffset="12dp"/>
затем в деятельности:
BottomAppBar bottomAppBar = (BottomAppBar) findViewById(R.id.bottom_appbar);
bottomAppBar.setNavigationOnClickListener(this);
@Override
public void onClick(View v) {
//do something
}