Android dialog根据点击按钮位置在上或下显示 右对齐
时间: 2024-02-05 11:11:06 浏览: 193
可以通过设置 Dialog 的 Window 属性来实现。
首先,在创建 Dialog 实例后,使用以下代码来获取 Dialog 的 Window 对象:
```
Window window = dialog.getWindow();
```
然后,为了让 Dialog 在上方或下方显示,可以设置 Window 的 Gravity 属性:
```
if (position == Position.TOP) {
window.setGravity(Gravity.TOP);
} else {
window.setGravity(Gravity.BOTTOM);
}
```
其中,Position 是一个枚举类型,用于指定 Dialog 在哪个位置显示。
最后,为了让 Dialog 右对齐,可以设置 Window 的 LayoutParams 属性:
```
WindowManager.LayoutParams params = window.getAttributes();
params.gravity = Gravity.RIGHT;
window.setAttributes(params);
```
完整的示例代码如下所示:
```
private enum Position {
TOP,
BOTTOM
}
private void showDialog(Position position) {
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_layout);
Window window = dialog.getWindow();
if (position == Position.TOP) {
window.setGravity(Gravity.TOP);
} else {
window.setGravity(Gravity.BOTTOM);
}
WindowManager.LayoutParams params = window.getAttributes();
params.gravity = Gravity.RIGHT;
window.setAttributes(params);
dialog.show();
}
```
阅读全文