我想动态更改 PopupWindow 的位置。 使用了以下方法:
public void showAtLocation (View parent, int gravity, int x, int y)
但有时PopupWindow显示屏幕外。那么我应该使用哪个相对参数来改变值x和y(比如布局高度或宽度等)?
答案 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中的方法