Home / Android-Entwicklung / Das Android Arsenal – Menüs

Das Android Arsenal – Menüs

Ein neuer Weg, um die Navigation in Ihrer App zu verbessern

Es ist wirklich einfach, es in Ihr Projekt zu integrieren

Nehmen Sie es, schneller, schneller


 com.github.st235 
 expandablebottombar 
 XX 
 pom 


 Implementierung 'com.github.st235: expandablebottombar: XX'



PS: Lesen Sie den neuesten Versionscode im Abzeichen oben auf dieser Seite.

Verwendung

Ganz einfach, wie ich bereits geschrieben habe.

Zuerst sollten Sie Ihre Ansicht in einer XML-Datei deklarieren.

     < github 
 .com.st235.lib_expandablebottombar.ExpandableBottomBar
         android :  id  =  " @ + id / expandable_bottom_bar " 
 android :  layout_width  = ]  0dp 
 android :  layout_height  =  wrap_content 
 android : [19659mar =  20dp 
 App :  exb_backgroundCornerRadius  =  25dp [19659019] : exb_backgroundColor  =  " # 2e2e2e " 
 App :  exb_itemInactiveBackgroundColor = [194590306] [194599030] 
 App :  layout_constraintBottom_toBottomOf  =  Parent 
 App :  layout_constraintBottom_toBottomOf  Elternteil  "
 App :  layout_ constraintStart_toStartOf  =  " parent "   /> 

Dann sollten Sie Ihrer Navigationskomponente Menüelemente hinzufügen

 val  bottomBar :  ExpandableBottomBar  =  findViewById ( R 


 .id.expandable_bottom_bar)

        bottomBar.addItems (
                 ExpandableBottomBarMenuItem .  Builder  (context  =  this 
)
                        .addItem ( R  .id.icon_home,  R  .drawable.ic_bug,  R  .string.text,  Color .  GRAU 
)
                        .addItem ( R  .id.icon_go,  R  .drawable.ic_gift,  R  .string.text2,  0xFFFF77A9 
)
                        .addItem ( R  .id.icon_left,  R  .drawable.ic_one,  R  .string.text3,  0xFF58A5F0 
)
                        .addItem ( R  .id.icon_right,  R  .drawable.ic_two,  R  .string.text4,  0xFFBE9C91 



)
                        .bauen()
        )

        bottomBar.onItemSelectedListener  =  {view, menuItem  - > 
 / *  * 
              * Behandle Menüpunktklicks hier, 
              * aber klicke auf bereits ausgewählt Artikel hat keinen Einfluss auf diesen Rückruf 
 * / 



        }
        
        bottomBar.onItemReselectedListener  =  {view, menuItem  - > 
 / *  * 
              * Behandle hier alle Klicks in bereits ausgewählten Elementen 
 * / 

        } 

XML-Menüdeklaration

Wenn Ihr Menü konstant ist, können Sie es in XML

angeben. Zuerst sollten Sie Menüelemente in XML

 <? XML [19659014deklarieren]  version =  1.0  encoding  =  utf-8 
?>
< menu  xmlns :  app  =  " http://schemas.android.com/apk/res-auto "  xmlns :  android  =  " http://schemas.android.com/apk/res/android " 
>
    < item 
 android :  id  =  " @ + id / home " 
 android :  title  =  " @ string / text " 
 App :  exb_color  =  " # FF8888 " 
 app :  exb_icon  =  " @ drawable / ic_home " 

  />

    < item 
 android :  id  =  " @ + id / settings " 
 android :  title  =  " @ string / text4 " 
 App :  exb_color  =  " @ color / colorSettings " 19659017] App :  exb_icon  =  " @ drawable / ic_settings " 

  />

    < item 
 android :  id  =  " @ + id / bookmarks " 
 android :  title  =  " @ string / text3 " 
 App :  exb_color  =  " # fa2 " 
 app :  exb_icon  =  " @ drawable / ic_bookmarks " 
  />
</  menu > 

Jedes Element-Tag verfügt über folgende Attribute:

property type description
id reference an id of menu item [19659146] Farbe Referenz / Farbe Farbe des Elements, es kann sich um eine Farbreferenz oder eine Farbreferenz handeln
Symbolreferenz Symbolreferenz (Vektorzeichnungen werden unterstützt)
Titel Referenz / Text Elementtitel

Genau wie bei jedem Android-Menü 😉

Dann sollten Sie diese XML-Datei unter den Ansichtsattributen

     < github 
 .com.st235 referenzieren. lib_expandablebottombar.ExpandableBottomBar
         android :  id  =  " @ + id / expandable_bottom_bar " 
 android :  layout_width  = ]  0dp 
 android :  layout_height  =  wrap_content 
 android : [19659mar =  20dp 
 App :  exb_backgroundCornerRadius  =  25dp [19659019] : exb_itemInactiveBackgroundColor  =  " #fff " 
 App :  exb_items  =  @ 1945903030 
 App :  layout_constraintBottom_toBottomOf  =  Parent 
 App :  und 19659014 ] " parent " 
 app :  layout_c onstraintStart_toStartOf  =  " parent "   /> 

XML-Attribute

property type description
exb_elevation
Komponentenhöhe (wichtig: Api 21+)
exb_backgroundColor Farbe Hintergrundfarbe der unteren Leiste
exb_transitionDuration Ganzzahl Zeit zwischen einem Element, das reduziert wurde und einem anderen Element, das erweitert wurde [1965914iusRad_] dimen Eckenradius der unteren Leiste
exb_itemInactiveColor color Menüfarbe des Elements, wenn es inaktiv ist
exb_itemBackgroundCornerRadius dimen item background corner float Hintergrund-Deckkraft des Elements (wichtig: Endfarbe Alpha berechnet nach den nächsten Formeln Alpha = Deckkraft * 255)
exb_item_vertical_margin dimen top & bottom Rand des Elements
exb_item_horiz ontal_margin dimen left & right item margin
exb_item_vertical_padding dimen top & bottom item padding
exb_item_horizontal_padding 19659144] Referenz XML-unterstütztes Menüformat

Unterstützung für das Koordinatorlayout

Warten Sie auf die Unterstützung für das Koordinatorlayout – und es ist bereits da! Fabriken und Imbisse ausgerichtet durch untere Stange! Hurra 🎉

Erhältlich ohne Registrierung und SMS, ab Version 0.8 . Im Ernst, alles funktioniert bereits ab Werk – nichts muss getan werden.

Aber … wenn Sie das Ausblenden des Menüs per Listen- / Raster-Bildlauf unterstützen müssen, dann haben Sie wirklich Glück!

Diese Funktionalität ist sehr einfach zu implementieren. Sie müssen das benutzerdefinierte Koordinator-Layout-Verhalten in ExpandableBottomBarScrollableBehavior neu deklarieren.

     < github 
 .com.st235.lib_expandablebottombar.Expandable
             android :  id  =  " @ + id / expandable_bottom_bar " 
 android :  layout_width  =  " match_parent " 
 android :  layout_height  =  " wrap_content 

         [194590android:  layout_gravity  =  bottom 
 app :  layout_behavior  =  ] github.com.st235.lib_expandablebottombar.behavior.ExpandableBottomBarScrollableBehavior  "
 App :  Elemente  = = [196599030]   /> 

Wirklich einfach; D

Nach der Integration sollte dieses Verhalten folgendermaßen aussehen:

Migrationsleitfaden

Hier finden Sie alle erforderlichen Informationen zur Migration von alten Versionen [19659003] Bildschirme

Lizenz






















 MIT-Lizenz

Copyright (c) 2019 Alexander Dadukin

Hiermit wird jeder Person, die eine Kopie erhält, kostenlos die Erlaubnis erteilt
von dieser Software und den dazugehörigen Dokumentationsdateien (die "Software") zu handeln
in der Software ohne Einschränkung, einschließlich ohne Einschränkung der Rechte
zum Verwenden, Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und / oder Verkaufen
Kopien der Software zu erstellen und Personen zu gestatten, denen die Software gehört
zu diesem Zweck eingerichtet, unter folgenden Bedingungen:

Der obige Copyright-Hinweis und dieser Erlaubnishinweis sind in allen enthalten
Kopien oder wesentliche Teile der Software.

DIE SOFTWARE WIRD "WIE BESEHEN" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER
STILLSCHWEIGEND, EINSCHLIESSLICH DER GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT,
EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. NIEMALS WIRD DAS
AUTOREN ODER COPYRIGHT-INHABER HAFTEN FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE
HAFTUNG, OB IM RAHMEN EINES VERTRAGS, EINES SCHWERPUNKTS ODER EINES ANDEREN SCHWERPUNKTS,
AUSSERHALB ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN VERHANDLUNGEN IN DER
SOFTWARE.

.

About AndroidWeltEditor

Check Also

Common policy violations and how you can avoid them

By Andrew Ahn, Product Manager, Google Play App Safety At Google Play, we want to …

Leave a Reply

Your email address will not be published. Required fields are marked *