2013-01-03 25 views
6

Dopo aver consultato un sacco di tutorial, sono venuto a sapere che invece di Menu hanno ActionBar per > API 10. Ma sto usando il sdk API 7 per il mio test, ho usato Menus per mostrare il testo con drawable images. Ma solo il testo sta arrivando e l'immagine dell'icona disegnabile non viene visualizzata nell'opzione di menu. Per favore aiutami a risolvere questo.Opzione di menu in Android

mio XML:

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

    <!-- 
      Single menu item 
      Set id, icon and Title for each menu item 
    --> 
    <item 
     android:id="@+id/savedstory" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Saved Stories"/> 
    <item 
     android:id="@+id/setting" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Settings"/> 
    <item 
     android:id="@+id/Bookmark" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Bookmark This"/> 
    <item 
     android:id="@+id/share" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Share This"/> 
    <item 
     android:id="@+id/save" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Save This"/> 
    <item 
     android:id="@+id/small" 
     android:icon="@drawable/font3" 
     android:minHeight="20dp"> 
This icon is not showing. 
      /> 
     <item 
      android:id="@+id/medium" 
      android:background="#ffffff" 
      android:minHeight="20dp" 
      android:title="Medium font"/> 
     <item 
      android:id="@+id/big" 
      android:background="#000000" 
      android:minHeight="20dp" 
      android:title="Big font"/> 
    </item> 

</menu> 

Il mio codice di gonfiaggio:

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

risposta

2

Se si fa riferimento a Menu documentation "menu

Opzioni: I menu icona non supportano il check voce marchi e solo sh il titolo condensato dell'articolo. I menu espansi (disponibile solo se sono visibili sei o più voci di menu, raggiungibili tramite la voce "Altro" nel menu icona) non mostrano le icone degli articoli ei segni di spunta delle voci sono scoraggiati.

Dal momento che non riesco a vedere come si gonfia (quali opzioni, ecc) i menu posso solo supporre che non si vede l'icona di questo prodotto in quanto è un sesto punto e colpisce il menu espanso dopo 'Altro'.

+0

Grazie Marcin Gil..I hanno aggiornato il mio post con il codice di inflazione .. – Subburaj

+0

sì I Got It ..nel espandibile elementi solo il testo verrà non l'icona .. ho ragione.Grazie molto ... – Subburaj

2

Controllare il seguente frammento di codice.

menu.xml

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

    <item 
     android:id="@+id/Menu1" 
     android:orderInCategory="1" 
     android:title="Menu 1"/> 
    <item 
     android:id="@+id/Menu2" 
     android:orderInCategory="2" 
     android:title="Menu 2"/> 
    <item 
     android:id="@+id/Menu3" 
     android:orderInCategory="3" 
     android:title="Menu 3"/> 
    <item 
     android:id="@+id/submenu" 
     android:orderInCategory="4" 
     android:title="Sub menu"> 
     <menu> 
      <item 
       android:id="@+id/submenu1" 
       android:title="Sub menu 1"/> 
      <item 
       android:id="@+id/submenu2" 
       android:title="Sub menu 2"/> 
     </menu> 
    </item> 

</menu> 

aggiungere queste righe nel vostro Activity Class

public class MenuActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    } 
    public boolean onCreateOptionsMenu(Menu menu) { 
    new MenuInflater(getApplication()).inflate(R.menu.menu, menu); 
    return(super.onPrepareOptionsMenu(menu)); 
    } 

    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.Menu1: 
     Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.Menu2: 
     Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.Menu3: 
     Toast.makeText(this, "Menu 3", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.submenu: 
     Toast.makeText(this, "Sub menu", Toast.LENGTH_SHORT).show(); 
    break; 
    } 
    return(super.onOptionsItemSelected(item)); 
} 
} 
+0

+1 per il tempo trascorso per me..Grazie .. – Subburaj

+0

se si utilizza il codice precedente è possibile impostare gli elementi selezionabili – itsrajesh4uguys

Problemi correlati