Я попытался добавить кнопки с иконками в панель действий, поэтому я следил за информацией о разработчике 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.
Я должен что-то делать неправильно, может ли кто-нибудь увидеть, что мне не хватает, чтобы отображать кнопки со значками, а не в переполнении?
что произойдет, если вы используете 'андроида: showAsAction = "всегда"'? – Blackbelt
@Blackbelt Я изменил showAsAction action_new всегда, он все еще в переполнении –