2013-02-21 14 views
13

विकल्प मेनू के साथ आइकन दिखाने के लिए एंड्रॉइड विकल्प मेनू। मैंने निम्नलिखित कोड का प्रयास किया है लेकिन मेरा विकल्प मेनू छवि आइकन के बिना है। मैं ऐप विकसित करने के लिए एंड्रॉइड संस्करण 4.0 का उपयोग कर रहा हूं।आइकन

जावा कोड:

public boolean onCreateOptionsMenu(Menu menu) { 
      super.onCreateOptionsMenu(menu); 
      menu.add("Add Contacts").setIcon(
        R.drawable.ic_launcher); 

      return true; 
     } 

के बाद मैं छवि की जरूरत है "संपर्क जोड़ें" आइटम के शीर्ष पर प्रदर्शित करने के लिए मेरे ऐप की स्क्रीन गोली मार दी

enter image description here

है।

+0

इसका एक अच्छा सवाल। बहुत बुरा यह जवाब नहीं है। इनमें से कोई भी तरीका काम नहीं करता है। –

उत्तर

3

आप इस तरह एक कस्टम मेनू बना सकते हैं:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/add_contacts" 
      android:icon="@drawable/ic_launcher" 
      android:title="@string/add_contacts" 
     /> 
</menu> 

और फिर यह

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.my_menu, menu); 
    return true; 
} 

अधिक इस यहाँ पर बढ़: http://developer.android.com/guide/topics/ui/menus.html#options-menu

+1

मैंने कोशिश की है लेकिन छवि नहीं आ रही है। – sonia

+0

http://stackoverflow.com/questions/8306943/android-menu-icons-are-not-displaying-when-the-api-level-is-above-10 – nedaRM

3

आप सीधे एक्सएमएल में इस सेट कर सकते हैं फ़ाइल।

<item android:id="@+id/add_contacts" 
    android:icon="@android:drawable/plus_icon" 
    android:title="Add Contacts"/> 
1

आप इस Link का पालन करने का प्रयास कर सकते हैं।

इसे देखें और मुझे बताएं कि यह काम करता है या नहीं।

या आप इस तरह कुछ कर सकते हैं।
menu.xml बनाएं

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:id="@+id/next" 
       android:icon="@drawable/ic_next" 
       android:title="@string/next" /> 
     <item android:id="@+id/previous" 
      android:icon="@drawable/ic_previous" 
      android:title="@string/previous" /> 
     <item android:id="@+id/list" 
      android:icon="@drawable/ic_list" 
      android:title="@string/list" /> 
</menu> 

और अब आप CreateOptionMenu

public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu, menu); 
     return true; 
    } 

में मेनू

पर आइकन स्थापित करने के लिए अब और वह मेनू का उपयोग करने में सक्षम हो जाएगा।

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case R.id.next: 
      Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.next) + " menu option", 
         Toast.LENGTH_SHORT).show(); 
      return true; 
     … 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
    } 
+2

फिर एक ही आइकन दिखाई नहीं दे रहा है। – sonia

+0

ओह तो आप menu.xml फ़ाइल बनाकर कोशिश कर सकते हैं और आप उसमें मेनू आइटम सेट कर सकते हैं और उसमें आईसीओएन भी सेट कर सकते हैं। –

+0

उस कोड को चेक करें मैंने जवाब संपादित किया है। अगर यह काम करता है या मुझे नहीं बताता है। –

1

आपने मैनिफ़ेस्ट फ़ाइल में कुछ निम्न विशेषता का उपयोग करते हैं तो यह अपने आइकन .... दिखाने की जाएगी है

<activity android:name=".ui.CategoryActivity" 
     android:label="@string/app_name" 
     **android:theme="@android:style/Theme.NoTitleBar"**></activity> 

यह मेरी अपनी के लिए मेरे लिए काम ठीक ... :) +1 है प्रयास ...

** दर्ज होना चाहिए।

3

अवहेलना OnPrepareOptionsMenu और वहाँ से भी

आइकन जोड़ने और इसके बाद के संस्करण 3.0 के लिए अगर इसके, एक्सएमएल में android:showAsAction का उपयोग करें।

उदाहरण के लिए। android:showAsAction="ifRoom|withText"

0

समस्या Androidmanifest.xml है। android:theme="@style/AppTheme" निकालें और इसे ठीक

2

मैं दो लाइन में कोड की कोशिश की काम करेंगे और यह काम करता है:

public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 
     menu.add("Add Contacts"); 
     menu.getItem(0).setIcon(R.drawable.ic_launcher); 
     return true; 
} 
संबंधित मुद्दे