2011-11-24 57 views
2

Android有没有可能在底部对齐Activity对话框(活动和对话框主题)?默认情况下,它显示在屏幕中间。我还没有找到任何有关这方面的信息......谢谢。对齐Android活动

回答

1

这不完全是你在做什么,但我有一个类似的问题,我需要显示一个活动的对话框 - 在屏幕的底部。诀窍是使用WindowManager.LayoutParams。这里是我的onPrepareDialog是什么样子:

public void onPrepareDialog(int dialog, Dialog dlg) { 
    Window window = dlg.getWindow(); 
    WindowManager.LayoutParams wlp = window.getAttributes(); 
    switch (dialog) { 
    case DIALOGUE_LOADING_PLEASE_WAIT: 
     wlp.gravity = Gravity.BOTTOM; 
     window.setAttributes(wlp); 
     break; 
    default: 
     break; 
    } 
} 
+0

谢谢!它完美的作品!我想这对任何一种活动或对话都是正确的。 – lomza

1

我没试过,但搜索对谷歌发现这...这是否帮助你getWindow().setAttributes(),我希望这会帮助你。

内容的链接(如果它不工作): -

你可以叫getWindow()的getAttributes()来检索 WindowManager.LayoutParams的窗口。这有以下 领域涉及窗口位置:

http://code.google.com/android/reference/android/view/ViewGroup.LayoutParams.html#width

http://code.google.com/android/reference/android/view/ViewGroup.LayoutParams.html#height

http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#gravity

http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#x

http://code.google.com/android/reference/android/view/WindowManager.LayoutParams.html#y

完成所需更改后,U se getWindow()。setAttributes()到 安装新的值。

需要注意的是,虽然你可以强制特定的大小,通过宽度和高度 领域,一般正确的方法做,这是我们的窗口 做正常的布局,并自动确定窗口大小 方式。如果对话框中的单个视图需要固定尺寸 (如300x200),请执行View.onMeasure()以调用 setMeasuredDimension(300,200)。然后,当视图层次布局发生时,对话框窗口将被赋予一个尺寸,以确保您的视图 是该尺寸(可能会使实际窗口更大,以将对话框和装饰考虑在内,从而将 考虑在内)。

http://code.google.com/android/reference/android/view/View.html#onMeasure(int,%20int