gpt4 book ai didi

android - 如何更改弹出菜单弹出的位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:39 24 4
gpt4 key购买 nike

我在每个项目的 ListView 适配器中都有一个弹出菜单。菜单在屏幕的左边缘弹出,如何将其更改为在右侧

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()) {
...

最佳答案

迟到总比一次好 =) 这是我的决定,允许您将 PopupMenu 设置到指定的坐标。代码不是很好,但是可以用。

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();
}

关于android - 如何更改弹出菜单弹出的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444594/

24 4 0