Android 在恰当的时机改变Dialog的大小

系统提供的Dialog有时不能满足实际开发的要求,此时自定义是一个不错的注意!当我们继承Dialog来实现自己的对话框时,发现自定义Dialog的实际大小我们希望的大小存在差别!解决这个问题的方法之一是在恰当时机改变Dialog的大小!至于为什么需要这样一个恰当的时机,需要从Dialog显示的源码去理解,在此不做说明!

 

主要代码如下:

	public void resize(Context context, Dialog dialog) {
		
		WindowManager m = ((Activity) context).getWindowManager();
		Display display = m.getDefaultDisplay();
		int width = display.getWidth();
		int height = display.getHeight();

		Window window = dialog.getWindow();
		LayoutParams layoutParams = window.getAttributes();
		layoutParams.height = (int) (height * 0.8);
		layoutParams.width = (int) (width * 0.8);
		window.setAttributes(layoutParams);

	}

说明:

  • 代码的逻辑是首先获得屏幕的宽和高,然后获得对话框的LayoutParams,并修改其宽和高;
  • Dialog dialog:当前需要修改大小的Dialog;
  • Context context:显示当前对话框的Activity;

 

调用时机:

如果在show以后调用,可以看到修改大小后的对话框!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值