How can I change the position of where my Popup menu pops up
android, android-layout
Solution
Better late than once =) This is my decision, allows you to set PopupMenu to the specified coordinates. The code is not very good but it works.
public void show(Activity activity, float x, float y)
{
final ViewGroup root = (ViewGroup) activity.getWindow().getDecorView().findViewById(android.R.id.content);
final View view = new View(context);
view.setLayoutParams(new ViewGroup.LayoutParams(1, 1));
view.setBackgroundColor(Color.TRANSPARENT);
root.addView(view);
view.setX(x);
view.setY(y);
PopupMenu popupMenu = new PopupMenu(context, view, Gravity.CENTER);
popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener()
{
@Override
public void onDismiss(PopupMenu menu)
{
root.removeView(view);
}
});
popupMenu.show();
}
Problem
I have a popup menu in a listview adapter for each item. The menu pops up on the left edge of the screen, how can I change it to be on the right ``` private void showPopupMenu(View v, final App app) { PopupMenu popupMenu = new PopupMenu(context, v); popupMenu.getMenuInflater().inflate(R.menu.quick_action_menu, popupMenu.getMenu()); popupMenu .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { ... ```