如何将DialogFragment移出中心?

bar*_*dao 6 android fragment dialogfragment

是否可以通过使用a DialogFragment将其移出中心并将其放置在屏幕上的任何位置?

Aru*_*n C 8

您可以使用

getDialog().getWindow().setAttributes(param);

onCreateView()
Run Code Online (Sandbox Code Playgroud)

像这样

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    getDialog().getWindow().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP);
    WindowManager.LayoutParams param = getDialog().getWindow().getAttributes();
    param.width = LayoutParams.MATCH_PARENT;
    param.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
    param.x = 100;
    param.y = 100;
   .
   .
    getDialog().getWindow().setAttributes(p);
   .
   .
}
Run Code Online (Sandbox Code Playgroud)


小智 5

我成功使用了

 Window window = dialog.getWindow();
 WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
 lp.gravity = Gravity.TOP | Gravity.RIGHT;
 lp.x = 100;
 lp.y = 100;
 window.setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)

将我的对话框从角落稍微向下放在右上角.这段代码在onCreateDialog().