在android中动态更改PopupWindow的位置

时间:2014-07-01 09:48:15

标签: android android-layout android-popupwindow

我想动态更改 PopupWindow 的位置。 使用了以下方法:

public void showAtLocation (View parent, int gravity, int x, int y)

但有时PopupWindow显示屏幕外。那么我应该使用哪个相对参数来改变值x和y(比如布局高度或宽度等)?

2 个答案:

答案 0 :(得分:0)

试试这个

 AlertDialog dialog = builder.create();
 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
 WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();



wmlp.gravity = Gravity.TOP | Gravity.LEFT;
wmlp.x = 100;   //x position
wmlp.y = 100;   //y position

dialog.show();

其中X和Y以像素为单位。

如果您只想将警报对话框移动,那么

alertDialog.getWindow().getAttributes().verticalMargin = 0.2F;

答案 1 :(得分:0)

您需要使用

if (buttonState1 == 1 && buttonState2 == 0) {}

在PopupWindow中的方法