Как я могу повторить то, что я сделал ниже в Balsamiq?
Я сделал это меню, но он отображает только текст элементов (а не иконки). Можно ли отображать заголовок и значок в PopupMenu?
Вот мой create_post_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_photo"
android:icon="@drawable/ic_action_camera"
android:title="@string/action_photo"
android:showAsAction="always|withText" />
<item
android:id="@+id/action_video"
android:icon="@drawable/ic_action_video"
android:title="@string/action_video"
android:showAsAction="always|withText" />
<item
android:id="@+id/action_text"
android:icon="@drawable/ic_action_edit"
android:title="@string/action_text"
android:showAsAction="always|withText" />
<item
android:id="@+id/action_link"
android:icon="@drawable/ic_action_web_site"
android:title="@string/action_link"
android:showAsAction="always|withText" />
</menu>
Edit
Вот мои методы onCreateOptionsMenu
и onOptionsItemSelected
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_new) {
View menuItemView = findViewById(R.id.action_new);
PopupMenu popupMenu = new PopupMenu(this, menuItemView);
popupMenu.inflate(R.menu.create_post_menu);
popupMenu.show();
return true;
} else if(item.getItemId() == R.id.action_search) {
return true;
} else if(item.getItemId() == R.id.action_settings) {
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
return true;
} else if(item.getItemId() == R.id.action_help) {
return true;
} else {
return super.onOptionsItemSelected(item);
}
}