Android:在容器的中心显示自定义对话框

Kam*_*mal 17 android android-dialog

如何将自定义对话框显示为容器的中心?

Dialog customdialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar); 
Window window = customdialog.getWindow();
window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
window.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)

R.style.Theme_Translucent_NoTitleBar - 用于删除cutomdialog的边框.一旦我使用此行,对话框将出现在平板电脑的顶部角落?

任何人都可以帮我解决这个问题吗?

Sre*_*v R 48

将fill_parent更改为wrap_content.我希望这将是对话框出现在活动一角的问题.它占用了整个布局的空间.所以改变它可以帮助你获得你真正想要的东西.

Window window = customdialog.getWindow();
window.setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
window.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)


小智 12

我将此添加到对话框的自定义样式,它工作正常.

<item name="android:layout_gravity">center</item>
Run Code Online (Sandbox Code Playgroud)

我的对话框的宽度和高度设置为wrap_content.风格的父母是

父="@安卓风格/ Theme.Light"