2016-11-30 44 views
8

Mam BottomNavigationView z pięcioma przedmiotami. Domyślnym zachowaniem jest pokazywanie tylko etykiety wybranego elementu, a odstępy między wszystkimi pięcioma elementami różnią się w zależności od wybranego elementu.Android BottomNavigationWyświetl równo rozmieszczone ikony

Chciałbym, aby dolny pasek był bardziej podobny do paska UITabBar na iOS. Czy jest to możliwe z BottomNavigationView lub możesz polecić inną bibliotekę, która rozwiązuje to?

+0

Nie chcesz, aby nieco się wyblakło, gdy zostanie wybrane poprawnie? Coś jak to, co dzieje się tutaj w Wytycznych MD Design Design, zgadza się? https://material-design.storage.googleapis.com/publish/material_v_9/0B3321sZLoP_HWFJoUVp6R0ZacDA/components_bottomnavigation_usage7.png – MikeOscarEcho

+0

Prawidłowo. Chcę, aby wszystkie zakładki były jednakowej wielkości przez cały czas, bez względu na to, który z nich jest wybrany. –

+0

Tak, wydaje się, że to pierwsze wydanie BottomNavigationView przyszło z wieloma ograniczeniami. Polecam konwersję do tabLayout, jeśli to pasuje do twoich wymagań, ponieważ pozwala ci ustawić "stały" rozmiar dla wszystkich kart. Istnieje również więcej informacji w odnośniku, który może pomóc, można rozszerzyć BottomNavigationView i spróbować samodzielnie wyłączyć efekt bulgotania. http://stackoverflow.com/a/40188794/2340813 – MikeOscarEcho

Odpowiedz

0

Istnieje wiele bibliotek tam, ale można sprawdzić this i this obecnie.

W każdym razie zrzut ekranu z interfejsem użytkownika lepiej byłoby sprawdzić domyślne zachowanie.

7

Wystarczy wyłączyć tryb Shift: How to disable BottomNavigationView shift mode?

Gdy masz więcej niż 3 zakładki, tryb zmiany biegów jest domyślnie włączona. Ta opcja może być wyłączona tylko przez trudną metodę, używając teraz opcji Odbicie.

+0

który wykonuje zadanie, działa idealnie – Shujito

0

UPDATE

Należy również zaktualizować plik konfiguracyjny PROGUARD (np proguard-rules.pro), kod powyżej wykorzystuje odbicia i nie będzie działać, jeśli PROGUARD zaciemniać pole mShiftingMode.

-keepclassmembers class android.support.design.internal.BottomNavigationMenuView { 
    boolean mShiftingMode; 
}