मुझे अपने एंड्रॉइड ऐप में बॉटम नेविगेशन व्यू को लागू करने की आवश्यकता है। बीच के आइकन में एक छवि, कंपनी का लोगो होना चाहिए। लेकिन जब मैं ऐप चलाता हूं तो यह केवल एक ग्रे भरा गोलाकार आइकन दिखाई देता है। ऊपर की छवियां दिखाती हैं कि मुझे क्या चाहिए और मुझे क्या मिल रहा है।

जो मैं चाहता हूं: यहां छवि विवरण दर्ज करें

जो मैं समझता हूं: यहां छवि विवरण दर्ज करें

मैंने पहले से ही इस वेबसाइट में अन्य प्रश्नों की कोशिश की है, लेकिन प्रत्येक उत्तर एक्सएमएल से आइकन टिंटलिस्ट को ड्रॉबल के साथ बदलने के लिए कहता है, लेकिन केंद्र आइकन एक से अधिक रंगों वाला वेक्टर है।

जब मैंने setIconTintList विधि को शून्य सेट करने का प्रयास किया, तो मध्य आइकन के लिए काम करता है लेकिन अन्य आइकन भी मूल रंग में बदल जाते हैं।

//This doesn't work to other icons, only for the middle one 
mBottomNav.setItemIconTintList(null);

मैंने मेनू प्राप्त करने और आइकन टिंट सूची को केवल मध्य के लिए सेट करने का भी प्रयास किया, जैसे उपरोक्त कोड, लेकिन यह भी काम नहीं करता है।

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    mBottomNav.getMenu().findItem(R.id.nav_buy).setIconTintList(null);
}

यह एक्सएमएल कार्यान्वयन है:

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@color/kmv_background"
        app:itemIconTint="@drawable/bottom_nav_item_color"
        app:itemTextColor="@drawable/bottom_nav_item_color"
        app:labelVisibilityMode="labeled"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:menu="@menu/bottom_navigation" />

यह जावा कार्यान्वयन है:

mBottomNav = findViewById(R.id.bottomNavigationView);
mBottomNav.setOnNavigationItemSelectedListener(this);

किसी भी मदद के लिए धन्यवाद!

5
Fernando Barbosa 10 सितंबर 2019, 00:12

1 उत्तर

सबसे बढ़िया उत्तर

मुझे नहीं लगता कि कोई छोटा रास्ता है। पहले इसका प्रयोग करें:

   mBottomNav.setItemIconTintList(null);

फिर डिजाइन खुद करें। क्लिक और नॉट क्लिक के रूप में बटन को अलग करना न भूलें।

उदाहरण होम बटन XML

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--Clicked-->
    <item android:drawable="@drawable/homeclicked" android:state_checked="true" />
    <!--Not Clicked-->
    <item android:drawable="@drawable/homenotclicked" android:state_checked="false" />
</selector>

और उन्हें दृश्य में जोड़ें: उदाहरण बॉटम_नेविगेशन.एक्सएमएल

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/homebuttons"
        android:icon="@drawable/homebuttonxml />

 <!--Other Buttons...-->

</menu>

और अंत में, दृश्य को बॉटमनेविगेशनव्यू से लिंक करें

<com.google.android.material.bottomnavigation.BottomNavigationView    
     android:id="@+id/bottomNavigationView"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     app:labelVisibilityMode="unlabeled"
     app:elevation="0dp"
     app:menu="@menu/bottom_navigation">  
   
</com.google.android.material.bottomnavigation.BottomNavigationView>
15
Murat AKSU 26 पद 2020, 00:54