2015-05-06 5 views
1

Я попытался добавить кнопки с иконками в панель действий, поэтому я следил за информацией о разработчике Android page. Однако, несмотря на назначение значков, кнопки будут отображаться только в переполнении, а не на самой панели. Я хочу, чтобы кнопки отображались на панели со значками. Мой код:Кнопки панели действий, отображаемые только при переполнении

onOptionsItemSelected метод деятельности

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.action_new: 
     launchAddRuleActivity(); 
     return true; 
    case R.id.action_settings: 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

onCreateOptionsMenu деятельности

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

main.xml для расположения панели действий:

<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.mhmt.autotextmate.Main" > 

<!-- New, should appear as action button --> 
<item 
    android:id="@+id/action_new" 
    android:icon="@drawable/ic_action_new" 
    android:showAsAction="ifRoom" 
    android:title="@string/action_new"/> 
<!-- Settings, should always be in the overflow --> 
<item 
    android:id="@+id/action_settings" 
    android:icon="@drawable/ic_action_save" 
    android:showAsAction="never" 
    android:title="@string/action_settings"/> 

И, наконец, целевых и минимальных SDK:

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="22" /> 

Я получил чертежи от here, поэтому размер не должен быть проблемой. Этот класс распространяется на ActionBarActivity и импортирует android.support.v7.app.ActionBarActivity. В настоящее время я тестирую эмулятор Google Nexus под управлением Android 5.1.1 с разрешением 720x1280.

Я должен что-то делать неправильно, может ли кто-нибудь увидеть, что мне не хватает, чтобы отображать кнопки со значками, а не в переполнении?

+0

что произойдет, если вы используете 'андроида: showAsAction = "всегда"'? – Blackbelt

+0

@Blackbelt Я изменил showAsAction action_new всегда, он все еще в переполнении –

ответ

3

Попробуйте app:showAsAction="always"

<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.mhmt.autotextmate.Main" > 

<!-- New, should appear as action button --> 
<item 
android:id="@+id/action_new" 
android:icon="@drawable/ic_action_new" 
app:showAsAction="always" 
android:title="@string/action_new"/> 
<!-- Settings, should always be in the overflow --> 
<item 
android:id="@+id/action_settings" 
android:icon="@drawable/ic_action_save" 
app:showAsAction="always" 
android:title="@string/action_settings"/> 
+0

Не работает. Я также не хочу текст, но только значок, который будет отображаться. –

+1

Вы должны использовать «приложение», а не «андроид». – Cbibejs

+0

Ничего себе! Я слепой. Ty очень :) :) –

Смежные вопросы