欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android Dialog全屏_解决dialog高度不能全屏的问题

程序员文章站 2022-02-14 11:19:17
...

今天在项目中遇到一个很常见的问题、因为在项目中一种做活动的时候都会用Dialog来覆盖屏幕、显示活动的信息、就让Dialog全屏显示、因为Dialog默认的是不能全屏的、也就是怎么设置Dialog的Layout都没用的、下面给出实现Dialog实现全屏的3种方式


1、代码实现、这中方法相对比较简单

//首先继承Dialig、然后再构造函数中添加
super(context, android.R.style.Theme);
setOwnerActivity((Activity)context);


2、XML实现

在values文件中添加一个XML文件、然后在XML文件中设置一个style然后、添加如下代码

<style name="Dialog_Fullscreen">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>
</style>


3、代码方式

public HomeGiftBoxDialog(Activity context, int theme) {
    super(context, theme);  
    this.setContentView(R.layout.home_giftbox_dialog);

    DisplayMetrics dm = new DisplayMetrics();
    context.getWindowManager().getDefaultDisplay().getMetrics(dm);
    android.view.WindowManager.LayoutParams p = this.getWindow().getAttributes();  //获取对话框当前的参数值
    p.width =  dm.widthPixels;   //高度设置为屏幕
    p.height = dm.heightPixels;    //宽度设置为全屏
    p.gravity = Gravity.CENTER;
    this.getWindow().setAttributes(p);     //设置生效

}