2017-12-22 11 views
0

Dies ist ein Ausschnitt/Screenshot meines App-Designs in Adobe Illustrator: https://imgur.com/a/7tXii Je nach dem Menü, in dem Sie sich gerade befinden, wird der entsprechende Abschnitt wie unten dargestellt hervorgehoben (hellblau in diesem Fall).Den Hintergrund des aktuell ausgewählten Navigationsmenüpunkts markieren

Ich weiß, dass Sie das/Symbol Farbe über eine benutzerdefinierte ThemeOverlay ändern können, die Sie unter /styles.xml erstellen und durch das Hinzufügen App: theme = "@ style/afore_mentioned_theme_overlay" wie folgt aus:

<style name="ThemeOverlay.AppCompat.navTheme"> 

    <!-- Color of text and icon when SELECTED --> 
    <item name="colorPrimary">@color/color_of_your_choice</item> 

    <!-- Background color when SELECTED --> 
    <item name="colorControlHighlight">@color/color_of_your_choice</item> 

</style> 

Dies ändert jedoch nur die Symbolfarbe bei der Auswahl, anstatt den Bereich unter dem Symbol zu markieren. Das Hauptproblem ist wahrscheinlich, dass der Navigationshintergrund ein horizontaler Balken entlang des gesamten Bildschirms ist, aber ich möchte nur die Farbe von 33% davon ändern, abhängig vom ausgewählten Element. Dies erfordert wahrscheinlich eine dreckige Abhilfe (?).

Antwort

0

Nicht viel von einem schmutzigen Workaround erforderlich. fügen Sie diese einfach, nachdem Sie Ihre BottomNavigationView Instanz initialisiert:

navigation.setItemBackgroundResource(R.drawable.menubackground); 

und setzen diese in /drawable/menubackground.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/colorAccent" android:state_pressed="true" /> 
    <item android:drawable="@color/colorAccent" android:state_checked="true" /> 
    <item android:drawable="@color/colorPrimary" /> 
</selector> 

das wie folgt aussieht:

enter image description here

+0

Thank you eine Tonne, das ist exacly wonach ich gesucht habe! Ich kann die gleiche Methode zum Einfügen von Verlaufszeichnern anwenden, richtig? – TeraGerard

+0

Ja, alle Zeichen, glaube ich. – kalabalik

Verwandte Themen