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 ...
随机推荐
- ios发布笔录
需要一张1024x1024的icon 发布尺寸4.7英寸 1334x7505.5英寸 2208-12424英寸 1136-6403.5英寸 960-640ipad 2048x1536 视频 ip ...
- spring可以get到bean,注入却为空
使用spring的时候,已经将要用的bean注入到容器之中却发现在程序中总是报null,后来发现是因为当前的启动类没有在容器之中,所以用上下文可以get到,但是注入却无效
- Mac软件记录
前端: Brackets,sourceTree,dreamweaver,ps,ai,softmatic Weblayers. phpStorm,pyCharm,IDEA,eaclipse,XCODE, ...
- 调试技术(/proc、/sys、/dev、strace)
一.在/proc中实现文件 当某个进程读取我们的/proc文件时,内核会分配一个内存页,即PAGE_SIZE字节的内存块.驱动程序可以将数据通过这个内存页返回到用户空间. 第一种方法,不采用seq_f ...
- 关于c语言变量的内存分布测试程序
#include <stdio.h> #include <stdlib.h> ; // 常全局变量 ; // 初始化全局变量 int uninit_global; // 未初始 ...
- GOPS 2016全球运维大会 • 北京站概况
GOPS 2016全球运维大会上海站已圆满落幕,错过上海站的朋友或许会感到一些遗憾,但是不用担心,在12月16日,GOPS 2016全球运维大会 • 北京站将隆重召开,错过上海在的朋友可以赶上北京站哦 ...
- 《JS权威指南学习总结--6.9序列化对象》
内容要点: 一.JSON.stringify()和JSON.parse() 1.对象序列化(serialization)是指将对象的状态转换为字符串,也可将字符串还原为对象.ES5提供了内置函数JSO ...
- thinkphp u 方法
public function test(){ $this->display();echo U('Index/test',array('id'=>1),false,'localhost') ...
- html .css 实现图片滑动和自动播放特效移动端 HTML 5中添加了以touch 开头的事件
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta ...
- 遍历(一)jquery $().each和$.each()
原文:http://www.frontopen.com/1394.html 在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法. $().each 在dom处理上 ...