我们在用Android原生的Dialog的时候,你会发现原生的Dialog不是全屏,而有的时候我们的需求是要求Dialog宽度为全屏,或者宽度和高度为全屏。这里我说以下怎么做

首先创建一个类,继承Dialog重写里面的构造方法,我们会发现,在构造里面会向其父类传一个style,那么我们今天整个内容就从这个style开始吧

首先在Value文件夹的styles定义我们自己的样式,我先贴出我自己代码中的样式

 

下来就是使用我们自己的style,我们在我们定义的dialog中有个构造方法就可以设置style

 public PackageDialog(Context context) {        super(context, R.style.dialog);        setOwnerActivity((Activity) context);    }

最后最重要的就是设置全屏,我们重写show()方法,里面添加设置全屏的代码就可以了,这里我不多解释直接上代码

  @Override    public void show() {        super.show();            /**             * 设置宽度全屏,要设置在show的后面             */            WindowManager.LayoutParams layoutParams = getWindow().getAttributes();            layoutParams.gravity = Gravity.BOTTOM;            layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;            layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;            getWindow().getDecorView().setPadding(0, 0, 0, 0);            getWindow().setAttributes(layoutParams);    }

这里我们基本上设置自定义dialog全屏已经结束,但是可能会有些人不知道怎么加载我们自己定义的布局,加载布局也是在构造里面。

 public PackageDialog(Context context) {        super(context, R.style.dialog);        setOwnerActivity((Activity) context);         setContentView(R.layout.coupons_dialog_layout);    }

加载布局就是通过setContentView(),是不是很熟悉,没错就是在Activity中我们加载布局也是这么干。所以后面的操作你就像在Activity中操作就可以了。

好了今天就到这里了,欢迎各位大爷下次再来玩啊…

更多相关文章

  1. dp
  2. 六大布局之非常用布局
  3. Android基于百度定位SDK v4.1(LBS)实现定位功能
  4. 优化Android(安卓)App启动白屏
  5. Android与电脑局域网共享之:Samba Server
  6. Android控件架构
  7. Android实现凸起的导航栏
  8. Android的4种基本布局
  9. Android(安卓)设置页面的设计

随机推荐

  1. C#/IOS/Android通用加密解密方法
  2. Android动画效果-更新中
  3. Android应用开发之RelativeLayout (相对
  4. android 程序启动界面的短暂黑屏解决办法
  5. [Android]发布Sqlite数据库
  6. Android(安卓)onDraw
  7. Android的数据过滤机制
  8. Android(安卓)AIDL 双向调用的使用及相关
  9. android 动画
  10. 【Android】GridView添加网格线