2015-08-14 11 views
5

में अनदेखा किया जाता है टूलबार पर स्विच करने के बाद मेनू आइकन के साथ एक समस्या है। हालांकि मैं मेनू आइटम एंड्रॉइड के लिए सेट करता हूं: showAsAction = "always" यह आइकन नहीं दिखाता है, मैं केवल इसे पॉपअप आइकन पर क्लिक कर सकता हूं।शोएएसएक्शन = "हमेशा" टूलबार

यह myActivity

public class myActivity extends AppCompatActivity{ 
    ......... 
    public void onCreate(....){ 
    ............. 
    Toolbar toolbar = (Toolbar) findViewById(....); 
    setSupportActionBar(toolbar); 
    } 
    ............ 
    public boolean onCreateOptionsMenu(Menu menu{ 
      getMenuInflater().inflate(R.menu.menu, menu); 

      return super.onCreateOptionsMenu(menu); 
    } 
    ............. 
} 

menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
     android:id="@+id/settings" 
     android:icon="@drawable/settings" 
     android:title="settings" 
     android:showAsAction="always" 
    /> 
    <item 
     android:id="@+id/help" 
     android:icon="@drawable/help" 
     android:title="help" 
     android:showAsAction="never" 
    /> 
</menu> 

दोनों सेटिंग्स और मदद आइकन केवल पॉपअप मेनू में कर रहे हैं। तो टूलबार पर सेटिंग्स आइकन कैसे दिखाना है?

+0

CommonsWare द्वारा उत्तर अच्छा है लेकिन टूलबार को एक समर्थन कार्रवाई बार सेट के रूप में सेट करना न भूलें SupportActionBar (टूलबार); – Bogman

उत्तर

15

app:showAsAction के साथ android:showAsAction बदलें। आपको अपने रूट तत्व में अपने मौजूदा xmlns आइटम के साथ xmlns:app="http://schemas.android.com/apk/res-auto" जोड़ने की भी आवश्यकता होगी।

+0

धन्यवाद कॉमन्सवेयर, परिवर्तन के ऊपर काम कर रहा है। – Swapnil

1

AppCompat के साथ थोड़ा बदलाव होता है। यदि आप लिंट चला रहे हैं तो यह इसके बारे में शिकायत करेगा। इसे टाइप करें:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
<item 
    android:id="@+id/someId" 
    android:title="@string/someText" 
    app:showAsAction="always"/> 
</menu> 

आपको "ऐप" नामस्थान घोषित करने और संदर्भित करने की आवश्यकता है।