AlertDialog完全使用
来源:互联网 发布:mac 隐藏文件夹 编辑:程序博客网 时间:2024/06/02 06:20
不用自定义dialog实现圆角,设置宽高,动画,位置等功能
1圆角
//设置dialog背景android.view.Window window = dialog.getWindow();window.setBackgroundDrawableResource(R.drawable.back);
R.drawable.back文件
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="9dp" /> <solid android:color="#00000000" />透明</shape>
2设置宽高
//设置宽高android.view.Window window = dialog.getWindow();WindowManager m = getWindowManager();Display d = m.getDefaultDisplay(); //为获取屏幕宽、高 android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); //获取对话框当前的参数值 p.height = (int) (d.getHeight() * 0.2); //高度设置为屏幕的0.3 p.width = (int) (d.getWidth() - 300); //宽度设置为屏幕宽度-300 window.setAttributes(p);
完整代码(注释很详细)
private void showDialog() { if (dialog == null) { AlertDialog.Builder builder = new AlertDialog.Builder(this); //先得到构造器 // 载入布局 LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.dialog_cell, null); builder.setView(layout); // 对布局中的控件监听 TextView tvConfirm = (TextView) layout.findViewById(R.id.tv_confirm); tvConfirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog = builder.create(); } dialog.show();//先显示再设置参数 //设置dialog背景为透明,圆角 android.view.Window window = dialog.getWindow(); window.setBackgroundDrawableResource(R.drawable.back); //设置Dialog的展示位置 window.setGravity(Gravity.BOTTOM); //设置弹出动画 window.setWindowAnimations(R.style.dialogWindowAnim); //设置alertDialog的宽高 WindowManager m = getWindowManager(); Display d = m.getDefaultDisplay(); //为获取屏幕宽、高 android.view.WindowManager.LayoutParams p = window.getAttributes(); //获取对话框当前的参数值 // p.height = (int) (d.getHeight() * 0.2); //高度设置为屏幕的0.3 p.width = (int) (d.getWidth() - 300); //宽度设置为屏幕宽度-300 p.y = 20;//设置Dialog距离底部的距离 window.setAttributes(p); //将属性设置给窗体 }
<style name="dialogWindowAnim" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/scale_dialog_enter</item> <item name="android:windowExitAnimation">@anim/scale_dialog_out</item> </style>
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="200" android:fromYDelta="100%" android:toYDelta="0" />
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="200" android:fromYDelta="0" android:toYDelta="100%" />
阅读全文
0 0
- AlertDialog完全使用
- AlertDialog使用
- AlertDialog使用
- AlertDialog使用
- AlertDialog使用
- AlertDialog使用
- AlertDialog使用
- 完全自定义Android对话框AlertDialog的实现
- 完全自定义Android对话框AlertDialog的实现
- AlertDialog使用实例
- AlertDialog使用实例
- AlertDialog使用实例
- AlertDialog类的使用
- AlertDialog 使用总结
- AlertDialog的使用
- android alertDialog的使用
- android基础AlertDialog使用
- Android AlertDialog使用
- 顺序表插入 删除 查找
- MYSQL性能优化之Mysql服务器参数
- C语言趣味程序(6)
- python-简单用户交互小程序
- 字符串链接
- AlertDialog完全使用
- 常见单元测试工具介绍
- 电商用户行为分析大数据平台相关系列4-ZOOKEEPER安装
- C++中GetMemory问题
- [数据结构]顺序表的实现-C++
- python脚本构造有部分变动的重复文本
- 单件模式--软件设计模式
- Mac 中如何解压.bin文件
- 电商用户行为分析大数据平台相关系列5-KAFKA安装