Я пытаюсь реализовать всплывающее меню в моем фрагменте, но результат намного превосходит мои желания. У меня есть кнопка на панели действий, и одна из этих кнопок вызывает всплывающее меню, и никаких проблем пока нет. Он успешно звонит, и я вижу всплывающее меню. Вот как я это делаю.
во фрагменте класса
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.x) {
} else showPopup(view /* or getView() */);
return super.onOptionsItemSelected(item);
}
public void showPopup(View v) {
PopupMenu popupMenu = new PopupMenu(getContext(), v);
MenuInflater menuInflater = popupMenu.getMenuInflater();
menuInflater.inflate(R.menu.event_popup, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
return false;
}
});
popupMenu.show();
}
popup_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/a"
android:icon="@drawable/ic_action_back"
android:title="a" />
<item android:id="@+id/b"
android:icon="@drawable/ic_action_back"
android:title="b" />
Меню действий фрагмента (включает кнопку, которая открывает всплывающее меню)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/x"
android:icon="@drawable/ic_action_back"
yourapp:showAsAction="ifRoom"
android:title="" />
<item android:id="@+id/y"
android:icon="@drawable/ic_action_menu_dot"
yourapp:showAsAction="ifRoom"
android:title="" />
</menu>
И в результате вот как это выглядит. Я хочу, чтобы это было сверху справа. Как я могу справиться с этим. Насколько я знаю, его размещение по умолчанию уже в правом верхнем углу.