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

我正在开发一个android应用程序,并需要知道如何更改进度对话框的位置。 我需要它被定位在屏幕的底部,而不是在默认情况下。

Solutions Collecting From Web of "如何改变进度对话框的位置?"

你可以调用ProgressDialog#getWindow#setGravity(...)来改变重力。

所以:

 ProgressDialog dialog = ProgressDialog.show(AContext, "Test", "On the bottom"); dialog.getWindow().setGravity(Gravity.BOTTOM); 

除了其他答案之外,您可以使用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); 

对于您了解LayoutParams.y有帮助:

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

和关于LayoutParams.x:

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

如果您为ProgressDialog使用任何自定义主题,那么您可以将下面的xml标记添加到自定义主题的style.xml文件中的样式

<item name="android:layout_gravity">bottom</item>

将android:gravity =“bottom”添加到布局中最外面的XML元素可能会做到这一点。 不知道这是否移动对话框或它的内容。