Dialog对话框管理工具类
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnKeyListener;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView; /**
* Dialog显示的工具类
*
* @author wangfubin
*
*/
public class PromptManager { /**
* 显示一个自定义的Dialog
*
* @param context
* @param mag
* 想要显示的信息
* @param listener
* 回调接口
*/
public static void showDialog(Context context, String mag,
final dialogListener listener) {
final Dialog d = getDialog(context, 0.5f);
TextView tv = (TextView) d.findViewById(R.id.textView1);
tv.setText(mag);
d.setCanceledOnTouchOutside(true);
Button ok = (Button) d.findViewById(R.id.button1);
Button no = (Button) d.findViewById(R.id.button2); ok.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
listener.clickBut(true);
d.dismiss();
}
});
no.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
listener.clickBut(false);
d.dismiss();
}
});
d.show(); } /**
* 获取显示Dialog的实例对象!
*
* @param context
* @param f
* 透明度
* @return
*/
private static Dialog getDialog(Context context, float f) {
final Dialog d = new Dialog(context, R.style.init_game);
Window window = d.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.dimAmount = f;// 越大越不透明
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
d.setContentView(R.layout.pop_twobtn);
return d;
} /**
* 按功能键,模拟出来Menu进行显示!
*
* @param context
* @param mag
* 要显示的信息!
* @param listener
* 回调接口
*/
public static void showMenu(Context context, String mag,
final dialogListener listener) {
final Dialog d = getDialog(context, 0.5f);
TextView tv = (TextView) d.findViewById(R.id.textView1);
tv.setText(mag);
Window window = d.getWindow();
window.setGravity(Gravity.BOTTOM);
Button ok = (Button) d.findViewById(R.id.button1);
Button no = (Button) d.findViewById(R.id.button2);
d.setCanceledOnTouchOutside(true);// 设置点击外部可以取消这个Dialog
d.setOnKeyListener(new OnKeyListener() { @Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
d.dismiss();
}
return false;
}
}); ok.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
listener.clickBut(true);
d.dismiss();
}
});
no.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
/**
* 在按功能键弹出的Dialog上点击取消,其实是什么事情都没做(没写代码) 在baseActivity中,可以看看理解下!
*/
listener.clickBut(false);
d.dismiss();
}
});
d.show(); } /**
* 写一个接口,进行函数的回调,让调用者确定究竟做什么!
*
* @author liuzhao
*/
public interface dialogListener {
void clickBut(boolean isOk);
}
}
Dialog对话框管理工具类的更多相关文章
- android的Log日志打印管理工具类(一)
android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...
- Android 软件管理工具类Utils
Android 软件管理工具类Utils /** * Created by uilubo on 2015/9/30. * 工具类 */ public class Utils { public stat ...
- 阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑
事务管理工具类 首先需要有connection.并且是当前线程上的connection.声明connectionUtils.提供set方法等着spring来注入 有异常需要放在事务里面 close关闭 ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- Fragment管理工具类
Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragm ...
- android 对话框显示工具类
这个工具类非常简单,但是将显示dialog的方法统一封装,能够大大减少代码重复 package com.ctbri.weather.utils; import android.app.AlertDia ...
- 可以获取JVM信息的一些管理工具类
一些可以获取JVM信息的java工具类 BufferPoolMXBean.class ClassLoadingMXBean.class CompilationMXBean.class GarbageC ...
- 【Android工具类】Activity管理工具类AppManager
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 import java.util.Stack; import android.app.Activity; i ...
- 【笔记】cookies管理工具类
package com.ulearning.ulms.util; import java.io.UnsupportedEncodingException; import java.net.URLDec ...
随机推荐
- cetos6 安装samba共享文件夹
yum方式安装 yum install samba 修改配置文件 vim /etc/samba/smb.conf [global] comment = global workgroup = QFpay ...
- jQuery的9中构造函数
// 接受一个字符串,其中包含了用于匹配元素集合的 CSS 选择器 jQuery([selector,[context]]) // 传入单个 DOM jQuery(element) // 传入 DOM ...
- 升级到macSierra 10.12之后 在模拟器上面滑动视图很卡,
解决方法 在终端里面输入sudo sysctl -w kern.timer.coalescing_enabled=0
- iOS 加载本地 HTML 文件 CSS 样式图片无效果
在开发的过程中,有时候需要加载一些 HTML 页面,对于不太复杂的界面,基本上都可以放到本地用 UIWebview 来加载,但是在开发过程中会碰到 UIWebview 加载出来的 HTML 页面没有图 ...
- iOS 如何随意的穿插跳跃,push来pop去
OS 如何随意的穿插跳跃,push来pop去 主题思想:如A.B.C.D 四个视图控制器 想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A ...
- ogg 初始化
192.168.27.33test11ghdb11gtrandata: 同步delete,update 使用config 文件:同步表使用进程根据SCN号和RBA和主键同步##目的:数据定时同步,从源 ...
- CSS实现三角形图标的原理《转载》
网页中经常有一种三角形的图标,鼠标点一下会弹出一个下拉菜单之类的(之前淘宝也有,不过现在改版好像没有了) 之前以为是个png图标背景,后来在bootstrap中看到有一个图标样式叫做caret的用来实 ...
- 虚拟机Q&A
Q1:虚拟机运行一段时间后,各个版本的第一台虚拟机容量变大,增大容量可以接受 原因:不详 解决方法:用备份镜像替换当前镜像 1.1G Jun 24 17:07 win7_sp1_32_0.qcow2 ...
- C#隐藏(new)方法和重写(override)方法
在基类调用的时候 隐藏方法还是调用基类的方法 而重写方法调用的就是子类的中的方法 同时,当子类中的方法与父类或者所实现的接口中的扩展方法冲突时,那么此时相当于一个隐藏方法 基类调用或者接口调用的时候使 ...
- IIS的集成和经典模式的区别
集成和经典的区别: 1.集成模式集成通用映射,而经典模式必须添加DLL才可以使用通用映射,存在通用映射才可以拦截 2.集成模式是IIS7.0以上,经典模式是IIS6.0以下