`
wangleyiang
  • 浏览: 221756 次
社区版块
存档分类
最新评论

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以后调用,可以看到修改大小后的对话框!

 

 

分享到:
评论

相关推荐

    自定义Dialog.zip

    在Android开发中,Dialog是一种常见的用户交互元素,用于在主线程中显示临时性的信息或进行简单的用户操作。自定义Dialog可以极大地提升应用的用户体验和界面美观度。"自定义Dialog.zip" 包含了一个实现七种动画效果...

    android_Dialog

    - 可以通过设置`android:theme`属性来改变`Dialog`的主题,从而影响其颜色、大小等外观。 - 也可以在代码中通过`setStyle()`方法来改变`Dialog`的风格。 6. **Dialog的管理** - 应该在合适的时机关闭`Dialog`,...

    Android应用源码之项目启动的时候,弹出的悬浮带有关闭按钮的dialog.zip

    对于悬浮效果,可以通过修改Dialog的样式实现。在res/values/styles.xml中,定义一个新的Dialog主题,设置`android:windowIsFloating`为`true`,并调整窗口的大小和位置。也可以设置背景透明度,使其看起来像是悬浮...

    漂亮动画效果的Dialog

    在Android应用开发中,对话框(Dialog)是一种常见的用户界面元素,用于向用户展示临时信息或获取用户输入。本文将详细讲解如何创建一个带有漂亮动画效果的Dialog,类似"Nifty Modal Window Effects",并探讨其背后...

    DialogDemo源码

    在Android开发中,`Dialog`是一种非常常见的组件,它用于在用户界面中显示临时的通知或交互窗口,通常用于提供信息、询问用户或者进行简单的操作选择。`DialogDemo`是展示如何使用`Dialog`的一个示例代码集合,包含...

    打造万能的对话框Dialog(三)

    在Android开发中,对话框(Dialog)是一种非常重要的组件,它用于向用户显示临时信息或者进行简单的交互。本文是“打造万能的对话框Dialog”系列的第三篇,我们将深入探讨如何自定义和优化Dialog,使其更加灵活和...

    项目启动的时候,弹出的悬浮带有关闭按钮的dialog.zip

    同时,作为代码学习的一部分,你还可以尝试调整布局、改变文字颜色、大小,或者添加更多的交互元素,来提升自己的Android开发技能。 此外,这个项目也涉及到了“毕业设计”和“代码学习”,这意味着它可能是一个...

    android仿iPhone风格对话框示例.zip

    - 使用`android:state_pressed`和`android:state_focused`属性在XML中定义不同状态下的样式,或者在代码中监听点击事件并动态改变样式。 6. **尺寸适配和屏幕兼容性** - iPhone对话框通常具有固定的比例和大小。...

    Android智能手机操作系统下的层级过渡浅析.rar

    首先,层级过渡是Android动画系统的一部分,它允许开发者在视图层级结构中移动或改变视图的顺序,同时伴随着过渡动画。在Android 5.0(Lollipop)及更高版本中,系统引入了Transition框架,使得实现复杂的层级过渡变...

    CustomDialogDemo自定义对话框

    通过修改Dialog的属性或使用自定义的主题资源文件来实现。同时,也可以添加进入和退出的动画,提高用户体验。 5. **事件处理**: 对话框中的按钮或其他组件的点击事件,通常需要在Java代码中进行监听和处理。可以...

Global site tag (gtag.js) - Google Analytics