Расположение, размеры и фон DialogFragment

339
16 января 2017, 19:55

DialogFragment вызывается Fragment.show(getFragmentManager(), "ggg"); данные для фрагмента берутся в xml файле. Имеется активити в котором на весь экран SurfaceView и в определенный момент вызывается DialogFragment. Так вот он появляется по середине экрана, а как можно самому задать 1) расположение 2) размеры 3) фоном установить изображение?

Как я понял размер DialogFragment лучше указывать match_parent или wrap_content , а не в dp , так как разные устройства имеют своё ограничение для размера диалога.

Попытка разместить диалог :

@Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        form = getActivity().getLayoutInflater()
                .inflate(R.layout.gameoverfragment, null);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        getDialog().getWindow().setGravity(Gravity.BOTTOM | Gravity.RIGHT);

        return(builder.setTitle("").setView(form).create());
    }
Answer 1

1) Расположение (например, в нижнем правом углу)

getDialog().getWindow().setGravity(Gravity.BOTTOM | Gravity.RIGHT);

2) Размеры (например, во всю ширину экрана)

WindowManager.LayoutParams p = getDialog().getWindow().getAttributes();
p.width = ViewGroup.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setAttributes(p);

3) Фон. Если вы про фон окна то достаточно добавить в корневой элемент разметки окна

 android:background="@android:color/green"

UPD

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
   View form = getActivity().getLayoutInflater()
            .inflate(R.layout.gameoverfragment, null);
   Dialog dialog = new Dialog(getActivity());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(form);
dialog.getWindow().setGravity(Gravity.BOTTOM | Gravity.RIGHT);
  return dialog;
}
READ ALSO
SWT-приложение не запускается под Ubuntu

SWT-приложение не запускается под Ubuntu

Пытаюсь портировать десктопное SWT-приложение на UbuntuЗагрузил Eclipse Neon (6

523
Приложение для заказа товаров [требует правки]

Приложение для заказа товаров [требует правки]

Реализовать программу заказа товаровКак реализовать само приложение, знаю

321
Java, апплеты, графика 2d [требует правки]

Java, апплеты, графика 2d [требует правки]

Задача: Определение взаимного расположение точек, те

310
Как сохранять последние действия?

Как сохранять последние действия?

Всем привет и доброго дня!

322