Позиция активности диалога Android - PullRequest
14 голосов
/ 29 января 2010

Я создал не максимизированное действие, используя android: theme = "@ android: style / Theme.Dialog", чтобы оно выглядело как диалог.Мне нужно изменить положение действия на экране, но я не нашел, как это сделать ...

Ответы [ 3 ]

22 голосов
/ 09 декабря 2011

Чтобы изменить положение (с темой, установленной на Theme.Dialog), вы можете переопределить гравитацию, размер и координаты LayoutParams вида декора вашей деятельности после того, как он был прикреплен к окну. Вот пример:

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();

    View view = getWindow().getDecorView();
    WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams();
    lp.gravity = Gravity.LEFT | Gravity.TOP;
    lp.x = 10;
    lp.y = 10;
    lp.width = 300;
    lp.height = 300;
    getWindowManager().updateViewLayout(view, lp);
}
3 голосов
/ 09 февраля 2010

Создайте собственную тему с Theme.Dialog в качестве родителя:

  <style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">

Итак, для каждого элемента в теме диалога, который вы хотите изменить, используйте CustomDialogTheme вместо Theme.Dialog в манифесте Android. Для получения подробной информации см. документацию разработчика Android .

1 голос
/ 07 ноября 2014

Использовать .setGravity ()

progDialog = ProgressDialog.show ();

progDialog.getWindow () setGravity (Gravity.BOTTOM);.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...