本文实例讲述了Android编程实现自定义Dialog的大小自动控制方法。分享给大家供大家参考,具体如下:

Android应用开发中,无论是出于功能还是增加用户体验,弹出对话框(Dialog)进行一些操作提示是非常必要的。Android系统有自带的各种样式的对话框,但是根据项目需要可能从效果上满足不了需求,只时我们就要自定义对话框。

我们可以自定义Dialog的样式及展示布局,做出我们想要的对话框,但有的时候,我们做出的对话框要么显示太大,要么显得太小,或者是在不同的页面大小不一样,需要做个统一!此时我们就需要对Dialog大小进行控制,今天就简单地讲下这个。贴出代码,注释中有详细说明。

先是我们自定义Dialog的布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="141dp"

android:orientation="vertical" >

android:layout_width="match_parent"

android:layout_height="92dp"

android:background="@drawable/dialogbackground"

android:gravity="center"

android:orientation="vertical" >

android:id="@+id/dialog_tips_tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:layout_marginTop="10dp"

android:lineSpacingExtra="3dp"

android:lineSpacingMultiplier="1.2"

android:textColor="#333333"

android:textSize="15sp"

android:visibility="gone" />

android:id="@+id/dialog_content_tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:lineSpacingExtra="3dp"

android:lineSpacingMultiplier="1.2"

android:layout_marginLeft="15dp"

android:layout_marginRight="15dp"

android:text="@string/my_bank_delete_dialog"

android:layout_marginTop="3dp"

android:textColor="#333333"

android:textSize="15sp" />

android:layout_width="match_parent"

android:layout_height="40dp"

android:gravity="center"

android:orientation="horizontal" >

android:id="@+id/fail"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_weight="1"

android:background="@drawable/dialogsuccess_bg"

android:gravity="center"

android:text="取消"

android:textColor="#007aff"

android:textSize="17sp" />

android:id="@+id/success"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_weight="1"

android:background="@drawable/dialogerror"

android:gravity="center"

android:text="确定"

android:textColor="#007aff"

android:textSize="17sp" />

下面就是对话框的实现代码:

首先在所在的类中定义

private Dialog mDialog;

//下面是弹出对话框的方法,在需要弹出对话框的地方调用就可以了,当然可以去掉方法,直接写对话框代码也行。

protected void showIsDeleteDialog() {

View view = LayoutInflater.from(getActivity()).inflate(R.layout.common_no_title_dialog, null);

TextView tv = (TextView) view.findViewById(R.id.dialog_content_tv);

tv.setText("您要进行如下操作吗?");//这就是上面说到的提示文字,可以在这里做修改

Button mCancel = (Button) view.findViewById(R.id.success);

Button mSure= (Button) view.findViewById(R.id.fail);

// 取消操作

mCancel.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mDialog.dismiss();

}

});

//确定操作

mSure.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

clearRecordRequest();

mDialog.dismiss();

}

});

mDialog = new Dialog(getActivity(), R.style.IsDelDialog);//自定义的样式,没有贴出代码来

mDialog.setContentView(view);

mDialog.show();

Window dialogWindow = mDialog.getWindow();

WindowManager m = getActivity().getWindowManager();

Display d = m.getDefaultDisplay(); // 获取屏幕宽、高度

WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值

p.height = (int) (d.getHeight() * 0.8); // 高度设置为屏幕的0.6,根据实际情况调整

p.width = (int) (d.getWidth() * 0.8); // 宽度设置为屏幕的0.65,根据实际情况调整

dialogWindow.setAttributes(p);

}

代码结束!

希望本文所述对大家Android程序设计有所帮助。

android 自定义dialog 定时关闭,Android编程实现自定义Dialog的大小自动控制方法示例...相关推荐

  1. android 自定义dialog 定时关闭,Android,对话框定时自动关闭的实现

    初学Android没几天,最近在做一个项目,需要实现对话框弹出一段时间后自动消失,网上查找了部分资源并参考了SDK后,整理了下相关的方法: 实现对话框的弹出消隐,现实主要的方法是使用Toast.Toa ...

  2. android 自定义dialog 定时关闭,Android 快速实现自定义 Dialog

    项目地址: 简介:

  3. android服务中定时清理,Android中(Service )服务的最佳实践——后台执行的定时任务...

    Android中的定时任务一般有两种实现方式,一种是使用Java API里提供的Timer类,一种是使用Android的Alarm机制.这两种方式在多数情况下都能实现类似的效果,但Timer有一个明显 ...

  4. Android 10 手机端关闭蓝牙再打开,蓝牙不会自动回连设备蓝牙

    代码路径: system/bt//internal_include/bt_target.h packages/apps/Bluetooth/src/com/android/bluetooth/btse ...

  5. android通知栏点击关闭,Android点击通知栏 ,移除通知

    通过点击系统通知栏移除 通知只需要一个方法 Notification notification = new Notification(); notification.setAutoCancel(tru ...

  6. android自定义dialog不显示,Android 自定义的dialog显示不正常呢,怎么回事???

    Android 自定义的dialog显示不正常呢,怎么回事??? 用android的自定义布局文件: android:layout_width="match_parent" and ...

  7. android自定义手势,Android编程实现自定义手势的方法详解

    本文实例讲述了Android编程实现自定义手势的方法.分享给大家供大家参考,具体如下: 之前介绍过如何在Android程序中使用手势,主要是系统默认提供的几个手势,这次介绍一下如何自定义手势,以及如何 ...

  8. Android仿IOS封装通用的弹出框Dialog和底部弹出列表选择框 仿美团顶部条件筛选框 附自定义ViewGroup

    弹出框 背景 提示与询问弹出框 实现 使用 列表选择框 实现 使用 顶部条件筛选框 实现 自定义ViewGroup 使用 总结 背景 鉴于Android提供的默认弹出框很一般,IOS的弹出框样式还不错 ...

  9. android 窗口监听按键,Android编程实现Dialog窗体监听的方法

    本文实例讲述了Android编程实现Dialog窗体监听的方法.分享给大家供大家参考,具体如下: 今天做了一个Dialong窗体监听包括窗体内的xml监听. 效果图: test.class代码 pac ...

最新文章

  1. java和node.js 2018_2018,Node.js社区最值得关注的三个话题
  2. boost::proto::switch_相关的测试程序
  3. mysql基于.frm和.ibd进行mysql数据恢复
  4. 【嵌入式】C语言高级编程-container_of宏(04)
  5. iptables之xtables_addons浅度解析
  6. LeetCode Hot100 ---- 动态规划专题
  7. [react] 怎么在JSX里属性可以被覆盖吗?覆盖的原则是什么?
  8. 22Exchange Server 2010跨站点部署-邮件流测试及重定向
  9. 从“No space left on device”到删除海量文件
  10. OpenCV学习(13) 细化算法(1)(转)
  11. 浅谈UWB室内定位(一)_vortex_新浪博客
  12. 【mybatisPlus】mybatis基本使用
  13. Atitit java播放 wav MIXER 混响器编程 目录 1.1. MIXER 混响器编程 1 1.2. 得到系统中一共有多少个混音器设备: 1 1.3. 接口摘要 1 1.4. 调节音量
  14. visio反向生成mysql数据库模型图_Visio2010中逆向工程建立数据库模型图
  15. MATLAB聚类分析源代码
  16. 按月分隔时间段,java实现,DateRange
  17. Collecting Coins
  18. 使用思科交换机Packet——Tracer模拟器教程
  19. c# 获取数字的小数位数
  20. 啦啦啦啦啦_开放组织读书俱乐部:啦啦队长如何设定方向

热门文章

  1. Vim 快捷键整理【转】
  2. Oracle数据库游标在存储过程中的使用
  3. java https 网络爬虫_Java 网络爬虫,就是这么的简单
  4. html h 不换行,css 强制不换行
  5. java nio channel原理_Java NIO 选择器(Selector)与通道(Channel) 原理 | 学步园
  6. python合并word内容相同单元格_python:怎样合并文档中有重复部分的行?
  7. 计算机二级find,Excel函数-find、if和iferror-计算机二级Office
  8. python基本概念关系图_Python基本概念
  9. 数组中查找並返回数组_用Python查找数组中出现奇数次的那个数字
  10. 2021年春季学期-信号与系统-第三次作业参考答案-第一道题