Android:PopupMenu的位置
问题描述:
我对GridView的每个项目都使用GridView和PopupMenu。不幸的是,弹出窗口出现在单击项目的下方或上方。我希望它水平和垂直出现在屏幕中央。Android: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>
但这并没有帮助。有任何想法吗?
答
有这样的任务,并为此定制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();
答
尝试使用此对话框
final Dialog myDialog = new Dialog(this);
myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
myDialog.setContentView(R.layout.dialog_layout);
Window window = myDialog.getWindow();
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
window.setGravity(Gravity.CENTER);
myDialog.show();
+0
非常感谢您的答案,您一直非常乐于助人。 –
+0
@KostasSt最受欢迎 –
是否有可能加入一个警告对话框点击的项目?我想用它作为菜单,而不仅仅是一个弹出窗口。 –
当然,正如我在'dialogButton.setOnClickListener'中所显示的那样,您可以放置任何您需要的视图元素。 ImageView,任何布局等 –
并且不要忘记在'findViewById'之前使用根视图' –