Android:PopupMenu的位置

时间:2017-07-28 11:48:52

标签: android gridview popup popupmenu

我为GridView的每个项目使用GridView和PopupMenu。不幸的是,弹出窗口显示在单击的项目下方或上方。我希望它水平和垂直地出现在屏幕的中心。

PopupMenu popupMenu = new PopupMenu(wrapper, v);
popupMenu.getMenuInflater().inflate(R.menu.item_gridview_menu, popupMenu.getMenu());

我已经尝试将重力设置为像这样的中心

PopupMenu popup = new PopupMenu(this, v,Gravity.CENTER);   

但它只是将弹出窗口置于单击的项目上。 我也用弹出式设置了弹出窗口:

<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
    <item name="android:popupBackground">@android:color/white</item>
    <item name="android:gravity">center_horizontal</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:background">@color/colorPrimary</item>
</style>

但这也没有帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

像这样的任务并为此制作了自定义AlertDialog。

final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.custom); // Your custom XML
        dialog.setTitle("Title...");

        // set the custom dialog components - text, image and button
        TextView text = (TextView) dialog.findViewById(R.id.text);
        text.setText();

        ImageView image = (ImageView) dialog.findViewById(R.id.image);
        image.setImageResource();

        Button dialogButton = (Button) 
        dialog.findViewById(R.id.dialogButtonOK);
        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();