2015-08-14 27 views
5

Araç çubuğuna geçtikten sonra menü simgeleriyle ilgili bir sorun var demektir. Her ne kadar ben bir menü öğesi için android ayarladım: showAsAction = "her zaman" simgesi göstermiyor, sadece pop-up ikonunu tıklayarak bulabilirim. showAsAction = "her zaman" Araç Çubuğunda yoksayılır

Bu

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> 

Hem ayarları ve simgeler yalnızca açılan menüden içindedir yardımcı olur. Peki araç çubuğundaki ayarlar simgesi nasıl gösterilir?

+0

CommonsWare'in cevabı iyidir ama araç çubuğu setSupportActionBar (araç çubuğu) destek çubuğu olarak ayarlamayı unutmayın; – Bogman

cevap

15

'u app:showAsAction ile değiştirin. Mevcut öğenizle birlikte xmlns:app="http://schemas.android.com/apk/res-auto" öğesinin yanı sıra kök öğenizde öğenizi de eklemeniz gerekir.

+0

Teşekkürler CommonsWare, yukarıda değişiklik çalışıyor. – Swapnil

1

AppCompat ile küçük bir değişiklik var. Eğer lint çalıştırıyorsanız, bu konuda şikayet edecektir. Bunu yazın:

<?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> 

"App" ad alanını bildirmeniz ve başvurmanız gerekir.

İlgili konular