我有一个应该显示全屏对话框的Android应用。我尝试了不同的解决方案,但似乎没有人工作。 这是我的代码。 对话框的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_transparent" >
<!--declaration of other widgets -->
</RelativeLayout>
这是扩展对话框的类:
publicMyDialog(Context context) {
super(context, R.style.DialogTheme);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.setContentView(R.layout.my_dialog);
this.setCancelable(true);
this.setCanceledOnTouchOutside(false);
this.getWindow().clearFlags(LayoutParams.FLAG_DIM_BEHIND);
}
这是R.style.DialogTheme声明
<style name="DialogTheme" parent="android:Theme.Dialog">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowIsFloating">true</item>
</style>
现在,当显示对话框时,它不会填满所有屏幕。 如何让make对话框占据所有屏幕?
答案 0 :(得分:0)
有很多选择。一个是设置主题对话即
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
和其他设置布局参数。 (您可以在onCreateDialog()方法中使用它)
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
答案 1 :(得分:0)
不是从父 android.Theme.Dialog 派生 DialogTheme ,而是使用非对话主题作为父对象,例如 @android:style / Theme.Black。 NoTitleBar 强>
答案 2 :(得分:0)
您可以设置
getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
请查看此内容以获取更多信息。我希望它能为您提供帮助。