如何更改进度对话框的位置?

oli*_*ite 33 android position alignment progressdialog

我正在开发一个Android应用程序,需要知道如何更改进度对话框的位置.我需要将它定位在屏幕的底部而不是像默认情况下那样位于中心.

Ric*_*ler 80

你可以打电话ProgressDialog#getWindow#setGravity(...)来改变引力.

所以:

ProgressDialog dialog = ProgressDialog.show(AContext, "Test", "On the bottom");
                dialog.getWindow().setGravity(Gravity.BOTTOM);
Run Code Online (Sandbox Code Playgroud)


Bob*_*obs 16

除了其他答案,您还可以使用LayoutParams.x或LayoutParams.y来提供给定边的偏移量.例如:

progressDialog = ProgressDialog.show(this, "Title","Text");

progressDialog.getWindow().setGravity(Gravity.TOP);
LayoutParams params = progressDialog.getWindow().getAttributes();
params.y = 100;
progressDialog.getWindow().setAttributes(params);
Run Code Online (Sandbox Code Playgroud)

了解LayoutParams.y对你有好处:

此窗口的Y位置.使用默认重力,它将被忽略.当使用TOP或BOTTOM时,它提供与给定边缘的偏移.

以及LayoutParams.x:

此窗口的X位置.使用默认重力,它将被忽略.当使用LEFT或START或RIGHT或END时,它提供与给定边缘的偏移.