2015-04-28 2 views
0

Я пытаюсь сделать меню только с одним значком, но вместо этого значка, я получаю типографику три точки и внутри моей опции. Итак, я хочу только один значок. Это мой XML код:Значок istead из трех точек Android Меню

<?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" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.bartek.gestionpea.MainActivity"> 

    <item 
     android:id="@+id/ayuda" 
     android:icon="@android:drawable/ic_dialog_info" 
     android:title="Ayuda" 
     app:showAsAction="ifRoom"/> 

</menu> 

Вот идет мой класс:

public class MainActivity extends Activity { 
    PeniaSQLiteHelper usdbh; 

    private SQLiteDatabase db; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     getActionBar().setTitle("GESTION"); 

     Button btnCrearPena = (Button) findViewById(R.id.btncrearpena); 

     btnCrearPena.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       Intent i = new Intent(MainActivity.this, CrearNueva.class); 
       startActivity(i); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_principal, menu); 
     return true; 
    } 

    @Override 
    public boolean onMenuItemSelected(int featureId, MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.ayuda: 
       return true; 
     } 
     return super.onMenuItemSelected(featureId, item); 
    } 
} 

ответ

0

Поскольку вы используете стандартную активность, попробуйте следующее:

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

    <item 
     android:id="@+id/ayuda" 
     android:icon="@android:drawable/ic_dialog_info" 
     android:title="Ayuda" 
     android:showAsAction="always" /> 

</menu> 
+0

Спасибо за ответ, я судимые этот код прямо сейчас, и стил не работают. Я попробовал почти все внутри showAsAction, и я вижу только 3 точки с моими параметрами внутри. Спасибо, в любом случае! – Uat

+0

Можете ли вы разместить код своего класса деятельности? Вы можете напрямую отредактировать вопрос. Спасибо –

+0

Сделано, alredy psoted мой класс. ;) – Uat

0

Вы можете изменить тему приложения (в themes.xml):

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item> 
</style> 

<!-- Style to replace actionbar overflow icon. set item 'android:actionOverflowButtonStyle' in AppTheme --> 
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow"> 
    <item name="android:src">@drawable/your_icon_here</item> 
    <item name="android:background">?android:attr/actionBarItemBackground</item> 
    <item name="android:contentDescription">"options"</item> 
</style> 

Подробнее here

1

Вы используете какие-то вещи для бара нативного действия (например, унаследовав от Activity) и некоторые вещи для бара Backport appcompat-v7 действия (например, app:showAsAction). Выберите один и придерживаться его:

  • Если вы хотите использовать панель нативные действий, используйте android:showAsAction

  • Если вы хотите использовать бар Backport appcompat-v7 действий, унаследован от AppCompatActivity (в последнее appcompat-v7) или ActionBarActivity (для предыдущих версий appcompat-v7)

+0

Если я напишу android: showAsAction, я получаю сообщение об ошибке, которое говорит «должно использовать приложение: showAsAction», поэтому я не знаю, что делать. Спасибо за ответ в любом случае mate :) – Uat

+0

@Uat: Если вы хотите использовать собственную панель действий, также избавьтесь от зависимостей 'appcompat-v7' и всего остального, что его использует (например, ваша тема активности). Опять же, вам нужно выбрать ** одну ** реализацию панели действий ** и придерживаться ее **, а не смешивать и сопоставлять с несколькими реализациями. – CommonsWare

+0

Понял, спасибо за помощь! Я не могу дать вам голоса, потому что у меня не так много репутации, но спасибо в любом случае :)) – Uat

0

Обратите внимание, что при USI нг AppCompat темы, иногда необходимо установить XML-атрибут объявление дважды:

один раз и один раз без андроиды имен

<item name="android:windowNoTitle">true</item> 
    <item name="windowNoTitle">true</item> 
Смежные вопросы