Активность с Диалогфрагментом всегда в середине - PullRequest
3 голосов
/ 22 июня 2019

Изображение выше - моя текущая деятельность с фрагментом диалога.как вы можете видеть, диалоговое окно находится в середине экрана, но оно должно выглядеть примерно так, как на картах Google, где, когда я нажимаю на кнопку, рядом с кнопкой появляется диалоговое окно:

enter image description here

=>

result

Как вы можете видеть на картах Google, диалог находится не посередине рядом с выбранной кнопкой,Это мой код:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/edit_name"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_gravity="center"
 android:orientation="vertical">

<TextView
    android:id="@+id/lbl_your_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Your name" />

<EditText
    android:id="@+id/txt_your_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionDone"
    android:inputType="text" />
</LinearLayout>

, который выглядит следующим образом:

res4e

Как вы можете видеть, когда я редактирую свой диалоговый фрагмент,edittext и textview находятся в верхней части экрана, но по какой-то причине при развертывании приложения они находятся посередине.

1 Ответ

0 голосов
/ 24 июня 2019

Попробуйте, это переместит диалоговое окно «Вниз», «Вверх», «Вправо», «Влево».

Dialog d = <code to create custom dialog>;

Window window = d.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.BOTTOM; 
wlp.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
window.setAttributes(wlp);

Используйте Gravity.TOP, BOTTOM, RIGHT, LEFT , чтобы поместить диалог в эту позицию.

...